仿射变换 python
时间: 2023-10-15 13:29:12 浏览: 109
仿射变换
4星 · 用户满意度95%
Python中实现仿射变换(affine transformation)可以使用OpenCV库。下面是一个简单的示例代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('image.jpg')
# 定义仿射变换前后的三个点
pts1 = np.float32([[50,50], [200,50], [50,200]])
pts2 = np.float32([[10,100], [200,50], [100,250]])
# 计算仿射变换矩阵
M = cv2.getAffineTransform(pts1, pts2)
# 进行仿射变换
result = cv2.warpAffine(img, M, (img.shape[1], img.shape[0]))
# 显示原始图像和变换后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Affine Transformation', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,首先使用`cv2.imread`函数读取图像,并定义了仿射变换前后的三个点(`pts1`和`pts2`)。然后使用`cv2.getAffineTransform`函数计算仿射变换矩阵,并使用`cv2.warpAffine`函数进行实际的变换。最后使用`cv2.imshow`函数显示原始图像和变换后的图像。
请注意,需要将代码中的`'image.jpg'`替换为你实际的图像路径。此外,还可以根据需要调整变换前后的点的坐标。
阅读全文