本篇文章只是用來記錄一些學習記錄,文章來源於: https://blog.csdn.net/xylin1012/article/details/81217988
使用深度學習在進行圖像分類或者對象檢測時候,首先需要對圖像做數據預處理,最常見的對圖像預處理方法有兩種,正常白化處理又叫圖像標准化處理,另外一種方法叫做歸一化處理,下面就詳細的說一下這兩種處理方法。
一:圖像標准化處理
標准化處理的公式如下:

tensorflow中對圖像標准化預處理的API函數如下:
tf.image.per_image_standardization(image)
- image 參數表示一個三維的張量(tensor) 分別對應圖像高、寬、通道數目(height, width, channels)
函數返回處理以后的圖像,大小與通道數目與原圖像保持一致。 使用opencv+tensorflow對圖像進行標准化處理的代碼演示如下:
、
運行效果

解釋
圖像標准化是將數據通過去均值實現中心化的處理,根據凸優化理論與數據概率分布相關知識,數據中心化符合數據分布規律,更容易取得訓練之后的泛化效果, 數據標准化是數據預處理的常見方法之一
二:圖像歸一化處理
圖像歸一化最常見的就是最大最小值歸一化方法,公式如下:

基於OpenCV實現圖像最大最小值歸一化的代碼演示如下:

原圖像素值輸出

歸一化之后像素值:

解釋
原圖與歸一化之后的運行結果完全一致,說明歸一化不會改變圖像本身的信息存儲,但是通過打印出來的像素值可以發現,取值范圍從0~255已經轉化為0~1之間了,這個對於后續的神經網絡或者卷積神經網絡處理有很大的好處,tensorflow官方給出mnist數據集,全部采用了歸一化之后的結果作為輸入圖像數據來演示神經網絡與卷積神經網絡。
