import os
import cv2
# 水平翻转,创建一个水平镜像
def h_MirrorImg(img_path, img_write_path):
img = cv2.imread(img_path)
mirror_img = cv2.flip(img, 1)
cv2.imwrite(img_write_path, mirror_img)
# 垂直翻转,创建一个垂直镜像
def v_MirrorImg(img_path, img_write_path):
img = cv2.imread(img_path)
mirror_img = cv2.flip(img, 0)
cv2.imwrite(img_write_path, mirror_img)
# 同时进行水平和垂直翻转的图像
def a_MirrorImg(img_path, img_write_path):
img = cv2.imread(img_path)
mirror_img = cv2.flip(img, -1)
cv2.imwrite(img_write_path, mirror_img)
def mirror(img_dir, img_write_dir):
if not os.path.exists(img_write_dir):
os.makedirs(img_write_dir)
img_names = os.listdir(img_dir)
for img_name in img_names:
img_path = os.path.join(img_dir, img_name)
# 翻转后的图像文件路径
h_img_write_path = os.path.join(img_write_dir, img_name[:-4] + '_1' + '.jpg')
v_img_write_path = os.path.join(img_write_dir, img_name[:-4] + '_2' + '.jpg')
a_img_write_path = os.path.join(img_write_dir, img_name[:-4] + '_3' + '.jpg')
# 对每个图像文件调用三个不同的镜像函数来生成水平、垂直和水平+垂直镜像的图像文件
h_MirrorImg(img_path, h_img_write_path)
v_MirrorImg(img_path, v_img_write_path)
a_MirrorImg(img_path, a_img_write_path)
img_dir = 'JPEGImages'
img_write_dir = 'Mirror/mirrored_JPEGImages'
mirror(img_dir, img_write_dir)
python数据增强——镜像翻转(jpg)
最新推荐文章于 2024-08-10 23:14:03 发布