读取一个图像,生成10个图像并显示,每个图像在-15° - 15°随机旋转
时间: 2023-06-04 13:03:38 浏览: 43
您好,这是一个计算机视觉相关的问题,很高兴能够回答。以下是参考代码,建议在Python环境下运行:
```python
import cv2
import numpy as np
# 读取原始图像
img = cv2.imread("image.jpg")
# 初始化旋转角度的列表
angles = []
# 循环10次,生成10个旋转角度
for i in range(10):
angle = np.random.randint(-15, 15)
angles.append(angle)
# 循环10次,生成10个旋转后的图像并显示
for i in range(10):
# 获取当前角度
angle = angles[i]
# 构建旋转矩阵
matrix = cv2.getRotationMatrix2D((img.shape[1]/2, img.shape[0]/2), angle, 1)
# 旋转图像
rotated_image = cv2.warpAffine(img, matrix, img.shape[:2])
# 显示图像
cv2.imshow("Rotated Image " + str(i+1), rotated_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
上述代码中,我们使用`cv2.imread()`函数读取了一张图像,然后通过`np.random.randint()`函数生成了10个旋转角度,并将这些角度保存在`angles`列表中。接着,我们通过循环10次,使用`cv2.getRotationMatrix2D()`函数构建旋转矩阵,再将旋转矩阵应用到原始图像上,得到旋转后的图像。最后,我们通过`cv2.imshow()`函数显示旋转后的图像。