我正在使用skimage来旋转,缩放和翻译图像。返回的图像使用原始图像形状,从而裁剪原始图像。如何返回包含整个原始图像的图像?
from skimage import data
from skimage import transform as tf
import numpy as np
import matplotlib.pyplot as plt
import math
image = data.chelsea()
tform = tf.SimilarityTransform(scale=1, rotation=math.pi / 4,
translation=(image.shape[0] / 2, -100))
rotated = tf.warp(image, tform)
plt.imshow(rotated)
答案 0 :(得分:3)
如果允许使用scikit-image以外的库(正如您在评论中提到的那样),那么scipy只有the tool:
import matplotlib.pyplot as plt
from scipy.ndimage.interpolation import rotate
import scipy.misc
lena = scipy.misc.lena()
rotated_lena = rotate(lena, 30, reshape=True)
f, (ax0,ax1) = plt.subplots(1,2)
ax0.imshow(lena, cmap='gray')
ax1.imshow(rotated_lena, cmap='gray')
plt.show() # shows a normal version of Lena and a version that is rotated by 30° CCW, uncropped
答案 1 :(得分:0)
import skimage
#Set the argument **resize = True** to get the uncropped
skimage.transform.rotate(image,angle=45,resize=False, mode='constant')