数据增强:
数据通过某种变换操作,从而生成新数据的过程
采用的部分方式:
缩放、调整亮度与对比度、翻转、旋转、添加噪声、模糊
1.缩放
#导入库
import cv2
import numpy as np
pic = cv2.imread("01.jpg") #读入图片
height,width = pic.shape[:2] #获取图片的高和宽
#将图像缩小为原来的0.5倍
pic_zoom = cv2.resize(pic, (width*0.5,height*0.5), interpolation=cv2.INTER_CUBIC)
# cv2.resize(图像变量 ,(宽,高) , 插值方法)
cv2.imshow('zoom', pic_zoom) #显示图片
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.resize(图片变量,(宽,高,颜色通道),插值方法) #颜色通道可略
#注意:先行后列,即先宽后高,与获取图片shape时相反(opencv: cv2.resize 探究(源码))
关于插值方法可参考:http://tanbakuchi.com/posts/comparison-of-openv-interpolation-algorithms/
2.调整亮度与对比度
(1)方法一 cv2.addWeighted()
#导入库
import cv2
import numpy as np
pic = cv2.imread("01.jpg") #读入图片
contrast = 1 #对比度
brightness = 100 #亮度
pic_turn = cv2.addWeighted(pic,contrast,pic,0,brightness)
#cv2.addWeighted(对象,对比度,对象,对比度)
'''cv2.addWeighted()实现的是图像透明度的改变与图像的叠加'''
cv2.imshow('turn', pic_turn) #显示图片
cv2.waitKey(0