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)

posted on 2021-04-02 10:30  宋岳庭  阅读(413)  评论(0编辑  收藏  举报