聲明:圖片來源於網絡 僅用於學術科研學習用途 若有版權訴求 請留言 會當即刪除博文網絡
首先讀入圖片,讀入方法隨意,能夠用PIL下的Image,能夠直接open讀到numpy裏面,也能夠用openCV,爲了下面分割的顏色空間轉換方便我用的是openCV的cv2工具
做業要求將RGB顏色空間下的圖片轉換爲YCrCb顏色空間下進行分割,因此直接使用了openCV的工具,固然本身寫個矩陣相乘也能夠,我在上面讀文件以後已經轉化完畢:學習
YCrCb中的Y表示明亮度,也就是灰階值,而Cr和Cb分別表示色彩及飽和度,用於指定影像的顏色。其中Cr反映RGB輸入信號紅色部分與亮度的差別,Cb反映的是RGB輸入信號藍色部分與亮度的差別
下面描述膚色分割步驟:
1.把RGB圖像轉換到YCrCb空間 並提取Cr份量圖像
2.對Cr份量進行高斯濾波
3.對Cr作自二值化閾值分割處理OTSU法blog
上圖是對Cr份量進行告訴濾波後的圖像圖片
上圖是對高斯濾波後的圖像使用OTSU進行二值化分割,下面來看使用高斯自適應分割法,對沒有通過高斯濾波的Cr原份量進行處理的結果:自適應
最後看看經過統計學規律對CrCb份量的皮膚顏色範圍進行二分獲得的結果:numpy