python opencv图像变换
时间: 2023-10-15 12:03:50 浏览: 121
好的,针对您的问题,我可以给您提供一些基本的图像变换方法,包括旋转、缩放、平移和仿射变换等。这些方法都可以使用 OpenCV 库中的函数来实现。
1. 旋转变换:可以使用 cv2.getRotationMatrix2D() 函数来获取旋转矩阵,然后使用 cv2.warpAffine() 函数来进行旋转变换。
2. 缩放变换:可以使用 cv2.resize() 函数来进行缩放变换。
3. 平移变换:可以使用 cv2.warpAffine() 函数来进行平移变换。
4. 仿射变换:可以使用 cv2.getAffineTransform() 函数来获取仿射矩阵,然后使用 cv2.warpAffine() 函数来进行仿射变换。
下面是一个简单的示例代码,演示如何使用 OpenCV 实现图像旋转变换:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('test.jpg')
# 获取图像中心点坐标
rows, cols = img.shape[:2]
center = (cols / 2, rows / 2)
# 定义旋转角度和缩放比例
angle = 45
scale = 1
# 获取旋转矩阵
M = cv2.getRotationMatrix2D(center, angle, scale)
# 进行旋转变换
rotated_img = cv2.warpAffine(img, M, (cols, rows))
# 显示原始图像和旋转后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Rotated Image', rotated_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文