用python opencv2编写程序,使用仿射函数将图片放大为原来的2倍,再顺时针旋转90度,不改变图片大小。展示原图,以及放大旋转后的图片
时间: 2024-10-20 20:19:32 浏览: 37
在Python中,你可以使用OpenCV库(cv2)来处理图像。首先,你需要导入必要的模块并加载图片。然后,可以使用`cv2.getRotationMatrix2D`计算旋转矩阵,`cv2.warpAffine`应用仿射变换,包括缩放和平移。最后,显示原始图像和处理后的图像。以下是具体的步骤:
```python
import cv2
import numpy as np
# 1. 加载图片
img = cv2.imread('your_image.jpg') # 替换 'your_image.jpg' 为你想要处理的图片路径
# 2. 定义初始尺寸(这里保持不变)
height, width = img.shape[:2]
# 3. 创建一个新的3x3仿射变换矩阵,用于缩放和平移
scale_factor = 2 # 放大2倍
rotation_angle = 90 # 顺时针旋转90度
center = (width // 2, height // 2) # 图像中心点
rotation_matrix = cv2.getRotationMatrix2D(center, rotation_angle, scale_factor)
# 4. 应用仿射变换
transformed_img = cv2.warpAffine(img, rotation_matrix, (width, height))
# 5. 显示原始图像
cv2.imshow("Original Image", img)
cv2.waitKey(0) # 等待按键按下
# 6. 显示放大并旋转后的图像
cv2.imshow("Transformed Image", transformed_img)
cv2.waitKey(0)
# 7. 关闭所有窗口
cv2.destroyAllWindows()
```
记得替换 `your_image.jpg` 为你要操作的实际图片文件名。这个代码会先显示原图,然后显示经过放大并旋转90度后的图片。
阅读全文