AffineTransform skimage 不切断边缘

AffineTransform skimage without cutting off the edges

我正在尝试使用 Skimage 转换图像,该图像已旋转并有点倾斜。

image = io.imread("id_1.jpg")
afine_tf = tf.AffineTransform(shear=0.3, rotation=-0.5)
modified = tf.warp(image, inverse_map=afine_tf)
io.imshow(modified)
io.show()

但是每次我这样做,边缘都被切掉了,有没有可能不切边地变换图像?

原文:

上面脚本后的切边:

亲切的问候

您需要向 warp 提供 output_shape= 参数,并确保它足够大以包含您转换后的图像。要一般地执行此操作(对于仿射变换),您需要变换图像的所有四个角,并为每个轴取最大值。您还需要确保整个图像都在正坐标space,因为没有办法显示负坐标的象限