在Python中倾斜或剪切图像
我想用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
类接受一个变换矩阵作为第一个参数(如果你使用其他参数,这个类会自动构建变换矩阵)。