gpt4 book ai didi

python - 图像的反转旋转

转载 作者:行者123 更新时间:2023-12-01 02:36:58 27 4
gpt4 key购买 nike

我正在寻找Python中的旋转变换,它可以反转以产生原始图像。到目前为止我正在使用

import skimage.transform as tf
import scipy
im = scipy.misc.ascent()

Original, unrotated image

r1 = tf.rotate(im, 10, mode='wrap')

Image rotated 10 degrees

r2 = tf.rotate(r1, -10, mode='wrap')

Rotated Image inversely rotated

如果我使用 reflect 做同样的事情,结果看起来像

Result using 'reflect'

是否可以简单地将图像旋转角度,然后将结果旋转回-角度,最终得到原始图像?

最佳答案

解决您的问题的一个潜在解决方案是使用rotate,并将可选参数resize设置为True,然后裁剪最终的结果。

import skimage.transform as tf
import scipy
import matplotlib.pyplot as plt

im = scipy.misc.ascent()

r1 = tf.rotate(im, 10, mode='wrap', resize=True)
plt.imshow(r1)

r2 = tf.rotate(r1, -10, mode='wrap', resize=True)
plt.imshow(r2)

# Get final image by cropping
imf = r2[int(np.floor((r2.shape[0] - im.shape[0])/2)):int(np.floor((r2.shape[0] + im.shape[0])/2)),int(np.floor((r2.shape[1] - im.shape[1])/2)):int(np.floor((r2.shape[1] + im.shape[1])/2))]

plt.imshow(imf)

由于旋转函数内部的操作,原始图像和旋转两次的图像之间会有细微差别,但在眼睛看来是一样的。

关于python - 图像的反转旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46116486/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com