仿射变换python代码
时间: 2024-03-21 13:36:38 浏览: 94
仿射变换是一种二维几何变换,可以通过线性变换和平移来改变图像的形状和位置。在Python中,可以使用OpenCV库来实现仿射变换。下面是一个简单的示例代码:
```python
import cv2
import numpy as np
# 读取图像
image = cv2.imread('input.jpg')
# 定义仿射变换的源点和目标点
src_points = np.float32([[50, 50], [200, 50], [50, 200]])
dst_points = np.float32([[70, 100], [220, 50], [150, 250]])
# 计算仿射变换矩阵
affine_matrix = cv2.getAffineTransform(src_points, dst_points)
# 进行仿射变换
output_image = cv2.warpAffine(image, affine_matrix, (image.shape[1], image.shape[0]))
# 显示原始图像和变换后的图像
cv2.imshow('Input Image', image)
cv2.imshow('Output Image', output_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
上述代码中,首先使用`cv2.imread`函数读取输入图像。然后定义了仿射变换的源点和目标点,这些点用于确定变换矩阵。接下来,使用`cv2.getAffineTransform`函数计算仿射变换矩阵。最后,使用`cv2.warpAffine`函数对图像进行仿射变换,并显示原始图像和变换后的图像。
阅读全文