opencv-python中的warpAffine怎么用
时间: 2023-12-24 10:04:45 浏览: 164
opencv使用cv.GetAffineTransform()实现图像仿射
在OpenCV-Python中,`warpAffine`函数用于执行仿射变换。它接受三个参数:源图像(input image),仿射变换矩阵(affine transformation matrix)和输出图像的尺寸(output image size)。
下面是一个使用`warpAffine`函数进行仿射变换的示例代码:
```python
import cv2
import numpy as np
# 加载图像
img = cv2.imread('input.jpg')
# 定义仿射变换矩阵
# 这里以平移变换为例
M = np.float32([[1, 0, 100], [0, 1, 50]])
# 执行仿射变换
output = cv2.warpAffine(img, M, (img.shape[1], img.shape[0]))
# 显示原始图像和变换后的图像
cv2.imshow('Original', img)
cv2.imshow('Affine Transform', output)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述示例中,我们加载了一张名为"input.jpg"的图像。然后,定义了一个平移变换矩阵`M`,将图像沿x轴正方向平移100个像素,沿y轴正方向平移50个像素。最后,使用`warpAffine`函数执行仿射变换,并将结果显示出来。
你可以根据具体需求修改仿射变换矩阵,实现不同的变换效果,例如旋转、缩放、剪切等。
阅读全文