图像随机翻转用python实现,用cv2,并且要批量大小进行
时间: 2023-06-17 11:08:16 浏览: 156
可以使用以下代码实现图像随机翻转并批量处理:
```python
import cv2
import numpy as np
def random_flip(images):
outputs = []
for img in images:
# 随机选择翻转方式
flip_code = np.random.randint(-1, 2)
# 对图像进行水平、垂直或水平垂直翻转
flipped = cv2.flip(img, flip_code)
outputs.append(flipped)
return outputs
# 加载图像并转为灰度图
images = [cv2.imread(filename, 0) for filename in file_list]
# 转为numpy数组并添加一个维度作为批量大小
images = np.expand_dims(np.array(images), axis=0)
# 随机翻转图像
flipped_images = random_flip(images)
# 移除批量大小维度并转为列表
flipped_images = list(np.squeeze(flipped_images))
```
其中,`file_list` 是需要处理的图像文件名列表,`images` 是以批量大小为 1 的 numpy 数组,`random_flip` 函数用于随机翻转图像并返回批量大小相同的 numpy 数组,最后转换为列表并移除批量大小维度。
阅读全文