在Python中倾斜或剪切图像

8 投票
1 回答
20271 浏览
提问于 2025-04-18 09:35

我想用Python对一些图片进行剪切和倾斜处理。我发现了这个skimage模块,但是我不太明白该怎么用。

我尝试了几种方法,但都出错了,因为我后来才意识到我没有把图片传给这个函数。然后我发现这个函数根本就不接受我的图片作为输入参数。那么,应该怎么应用这个变换呢?或者说,这个函数是不是不适合用来倾斜或剪切图片呢?

1 个回答

23

如果你想使用skimage模块,操作的顺序是:

  • 加载图片或者定义要处理的数据
  • 创建你想要的变换
  • 应用这个变换

一个工作流程可能看起来像这样:

from skimage import io
from skimage import transform as tf

# Load the image as a matrix
image = io.imread("/path/to/your/image.jpg")

# Create Afine transform
afine_tf = tf.AffineTransform(shear=0.2)

# Apply transform to image data
modified = tf.warp(image, inverse_map=afine_tf)

# Display the result
io.imshow(modified)
io.show()

skimage模块中的AffineTransform类接受一个变换矩阵作为第一个参数(如果你使用其他参数,这个类会自动构建变换矩阵)。

撰写回答