python opencv仿射变换矫正图像
时间: 2024-10-09 20:08:32 浏览: 75
基于OpenCv图像仿射变换
在Python中,OpenCV库提供了强大的图像处理功能,包括仿射变换用于矫正图像。仿射变换是一种线性变换,可以对图像进行缩放、旋转、平移等操作,使得图像的一个区域按照特定的比例和方向移动到另一个位置。
以下是使用OpenCV进行仿射变换的基本步骤:
1. 导入必要的库:
```python
import cv2
import numpy as np
```
2. 加载图片并读取其宽度和高度:
```python
img = cv2.imread('image.jpg')
height, width = img.shape[:2]
```
3. 定义仿射变换矩阵,假设需要对图像进行缩放和平移:
```python
# 示例:将图像左上角缩小20%,向下移动50像素
scale = 0.8
translation = (-50, -50)
M = np.float32([[scale, 0, translation[0]], [0, scale, translation[1]]])
```
4. 应用仿射变换:
```python
warped_img = cv2.warpAffine(img, M, (width, height))
```
5. 显示原图和变换后的图像:
```python
cv2.imshow("Original Image", img)
cv2.imshow("Warped Image", warped_img)
cv2.waitKey(0) # 等待按键
cv2.destroyAllWindows()
```
阅读全文