Python 數據增強的相關庫

                                        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()”)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章