『MXNet』第五彈_MXNet.image圖像處理


簡單處理API

讀取圖像:

image.imdecode(open('../img/cat1.jpg', 'rb').read())

圖像類型轉換:

img.astype('float32')

圖像增強流程

具體增強方式教程有很詳細的示意,不再贅述

輔助函數,用於將增強函數應用於單張圖片:

def apply_aug_list(img, augs):
    for f in augs:
        img = f(img)
    return img

對於訓練圖片我們隨機水平翻轉和剪裁。對於測試圖片僅僅就是中心剪裁。我們假設剪裁成28×28×3用於輸入網絡:

train_augs = [
    image.HorizontalFlipAug(.5),
    image.RandomCropAug((28,28))
]

test_augs = [
    image.CenterCropAug((28,28))
]

使用如下閉包來增強:

def get_transform(augs):
    def transform(data, label):
        # data: sample x height x width x channel
        # label: sample
        data = data.astype('float32')
        if augs is not None:
            # apply to each sample one-by-one and then stack
            data = nd.stack(*[
                apply_aug_list(d, augs) for d in data])
        data = nd.transpose(data, (0,3,1,2))
        return data, label.astype('float32')
    return transform

基本邏輯就是這樣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM