python旋转图片
为了扩充数据集,需要将图片进行一定角度的旋转。
# -*- encoding: utf-8 -*-
"""
@date: 2021/2/20 1:32 下午
@author: xuehuiping
"""
import cv2
import os
def process_file(folder, file_name, flip_code=90):
tgt_file_name = file_name.split('.')[0] + '-{}.jpg'.format(flip_code)
img = cv2.imread(folder + file_name)
rows, cols, channel = img.shape
M = cv2.getRotationMatrix2D((cols / 2, rows / 2), flip_code, 0.5)
dst = cv2.warpAffine(img, M, (cols, rows), borderValue=(255, 255, 255))
# 白色填充
cv2.imwrite(folder + tgt_file_name, dst)
# cv2.imshow('原始',img)
# cv2.imshow('旋转之后',dst)
# cv2.waitKey(0)
flip_codes = [30, 45, 60, 75, 90, 105, 120, 135, 150, 175, 180, 195, 210, 270]
folder = '/Users/xuehuiping/git/crnn/4_dataset_label/train/'
folder = '/Users/xuehuiping/git/crnn/4_dataset_label/val/'
file_name = '006c9e4a-62b0-46fc-8003-e8f87c3ae856.jpg'
imgs = os.listdir(folder)
for img in imgs:
if len(img) == 40:
for code in flip_codes:
process_file(folder, file_name=img, flip_code=code)
# process_file(folder,file_name,150)