Python數據增強的庫
1. 數據增強(旋轉、翻轉、加噪聲、加對比度、亮度):imgaug(更多操作,也可以加天氣效果,推薦)、Augmentor(簡單操作) 直接pip install(windows下面,需要去python第三方非正式庫下載Shapely,以及numpy1.15,纔不會報錯)
2. 數據增強(添加下雨 下雪 霧效果) :Albumentations
3. 數據增強:opencv-python、PIL中的ImageEnhance opencv-python、PIL中的ImageEnhance
區分:
imgaug:操作更多(但相對opencv-python,代碼簡潔),支持keypoint, bounding box同步處理 ******
Albumentations: 據說可以進行 加雨雪霧的效果
Augmentor:操作較少(但相對opencv-python,代碼簡介)
ImageEnhance: 4種操作顏色增強
1、對比度:白色畫面(最亮時)下的亮度除以黑色畫面(最暗時)下的亮度;
2、色彩飽和度::彩度除以明度,指色彩的鮮豔程度,也稱色彩的純度;
3、色調:向負方向調節會顯現紅色,正方向調節則增加黃色。適合對膚色對象進行微調;
4、銳度:是反映圖像平面清晰度和圖像邊緣銳利程度的一個指標。
opencv-python:
1、隨機裁剪、旋轉、翻轉;
2、隨機顏色、明暗;
3、仿射變換;
imgaug:簡單使用
可以查看官網(鍛鍊自己的英文水平,推薦),也可以百度搜一些imgaug的博客,有些博客寫的挺好的,自己就不用整理了。“imgaug學習筆記” 百度一下!!
import cv2
from imgaug import augmenters as iaa
# 單張圖片的處理(左右翻轉等操作)[H,W,C] or [H,W]
img = cv2.imread(img_path, -1)
aug_func = iaa.Fliplr( “Probability 0-1.0” )
result = aug_func.augment_image(img)
{裁剪:iaa.crop(), 填充:iaa.pad(), 銳化:iaa.sharpen, 明暗(亮度):iaa.Multiply, 對比度:iaa.ConstratNormalization, 仿射變換:iaa.Affine,..... }
# 多張圖片的處理(左右翻轉等操作) [N,H,W,C] or [N,H,W]
imgs=[]
for i in range(N):
imgs.append(img)
imgs = np.array(imgs)
result = aug_func.augment_images(imgs)
# 針對圖片的系列處理,使用全部增強方式,若部分隨機使用採用iaa.someOf()/one of()/Sometimes()
seq = iaa.Sequential(
iaa.Crop(***)
iaa.Fliplr(***)
iaa.GaussianBlur(***) )
seq.augment_image() / seq.augment_images()
# 針對圖片的批量處理,用到的比較少,往往是寫for循環實現。
seq.augment_batch(batch=”調用iaa.Batch()”)