Python实现基于OpenCV批量旋转图片

最近在做VOC数据集,需要进行图像加强,把收集的样本图片经行多角度旋转。实现后效果如下:

Python实现基于OpenCV批量旋转图片_第1张图片    Python实现基于OpenCV批量旋转图片_第2张图片   Python实现基于OpenCV批量旋转图片_第3张图片

分别经行了 90的倍数经行转换。

使用的是flip(src, flipCode[, dst])函数,其中flipCode参数有三个值可以选择:

当flipCode的值为 1 :水平翻转;

当flipCode的值为 0 :垂直翻转;

当flipCode的值为 -1 :水平垂直翻转;

实际上相当于将图片以中心远点旋转90、180、270度。

Python实现代码如下:

import cv2
from glob2 import glob
 
for fn in glob('*.jpg'): #确认文件格式
    img=cv2.imread(fn)
    horizontal_img=cv2.flip(img,1)#选择旋转类型
    splitName=fn.split(".")
    newName=splitName[0]
    cv2.imwrite(newName+'_flip.jpg',horizontal_img)

需要主要的是该脚本需要glob库,遍历文件很好用的库,如果没有安装,需要提前安装,终端命令:

pip install glob2

其中glob2是版本2的glob。

最后再把写好的脚本放在放照片的文件中,直接终端命令cd到指定目录下,运行该脚本,就能在该文件夹中保存旋转后的图片。

参考文献:

https://blog.csdn.net/weixin_34195546/article/details/86882105

 

你可能感兴趣的:(opencv)