在做图像数据增强的时候,经常会出现shape错乱的问题而出现很多bug。比较好的做法是,比如resize rotate 这些的函数,统一都使用cv2的,感觉它处理图像还是靠谱的。之前用过transform的rotate resize之类的 就比较混乱。。。
给个cv2做rotate的栗子:
import cv2
# 定义旋转rotate函数
def rotate(image, angle, center=None, scale=1.0):
# 获取图像尺寸
(h, w) = image.shape[:2]
# 若未指定旋转中心,则将图像中心设为旋转中心
if center is None:
center = (w / 2, h / 2)
# 执行旋转
M = cv2.getRotationMatrix2D(center, angle, scale)
rotated = cv2.warpAffine(image, M, (w, h))
return rotated
img = img(img,-15)