使用opencv实现图片旋转,并显示旋转前和旋转后图片
时间: 2024-12-21 21:29:02 浏览: 26
在OpenCV中,实现图片的旋转主要包括两个步骤:读取原始图片、应用旋转操作并保存处理后的图片。以下是使用Python的基本步骤:
1. **导入所需库**:
```python
import cv2
import numpy as np
```
2. **读取图片**:
```python
img = cv2.imread('input.jpg')
```
这里假设图片名为`input.jpg`。
3. **获取图像尺寸**:
```python
(h, w) = img.shape[:2]
```
4. **确定旋转中心点**:
由于旋转通常会改变图片的比例,我们通常选择图片的中心作为旋转中心。如果想要将旋转限制在原图范围内,则旋转中心为`(w//2, h//2)`。
5. **计算旋转矩阵**:
```python
angle = 45 # 例如,你想旋转45度
center = (w // 2, h // 2)
rotation_matrix = cv2.getRotationMatrix2D(center, angle, 1.0) # 保持缩放比例为1
```
6. **应用旋转**:
```python
rotated_img = cv2.warpAffine(img, rotation_matrix, (w, h))
```
7. **显示原始图片和旋转后的图片**:
```python
cv2.imshow("Original Image", img)
cv2.imshow("Rotated Image", rotated_img)
# 等待用户按下任意键继续
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个过程中,你可以通过调整角度参数来控制旋转程度。记得替换上述代码中的`'input.jpg'`为你实际需要旋转的图片路径。
阅读全文