opencv倾斜图片转正已知倾角
时间: 2024-12-18 19:16:11 浏览: 5
OpenCV是一个广泛使用的计算机视觉库,它包含许多图像处理函数,包括纠正图像偏斜。当你知道图片的倾斜角度时,可以使用OpenCV的`getRotationMatrix2D()`和`warpAffine()`函数来校正。
首先,你需要确定图像的中心点(通常假设为图像的几何中心),然后计算出旋转矩阵,该矩阵基于给定的角度、原点和新图像的尺寸。以下是基本步骤:
1. **读取图像**:
```python
import cv2
img = cv2.imread('input.jpg')
```
2. **获取图像中心**:
```python
center = (img.shape[1] // 2, img.shape[0] // 2)
```
3. **计算旋转矩阵**:
```python
angle_radians = math.radians(倾斜角度) # 将角度转换为弧度
rotation_matrix = cv2.getRotationMatrix2D(center, angle_radians, 1.0)
```
4. **应用旋转并缩放**:
```python
output_size = (新的宽度, 新的高度) # 指定新图像大小
transformed_img = cv2.warpAffine(img, rotation_matrix, output_size, flags=cv2.INTER_LINEAR)
```
5. **保存或显示结果**:
```python
cv2.imwrite('output.jpg', transformed_img)
cv2.imshow('Corrected Image', transformed_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文