2021年5月13日 星期四

s1061460 影像處理作業4

 

作業說明:

Skin Color Detection

利用所學的Color顏色的知識與技術,撰寫一個程式來偵測一張輸入照片中的皮膚區域並將其標示出。

操作環境:

l  作業系統 :  Windows10

l  編譯軟體 :  Visual Studio Code

l  使用語言 :  Python / OpenCV 4.5.1

實作方法:

1. YCbCr

針對YCbCr中Cb、Cr分量的處理,將RGB轉換為YCbCr,對Cr與Cb兩個通道綜合考慮。
Y = 0.299R + 0.587G + 0.114B
Cr = (R-Y)*0.713 + 128
Cb = (B-Y)*0.564 + 128
YCrCb膚色範圍:140 < Cr < 175;100 < Cb < 120;80 < Y

2. HSV:

轉換空間後每個通道設置一個閾值綜合考慮,進行二值化操作。
色相(H):色彩的基本屬性,就是平常所說的顏色名稱,如紅色、黃色等。
飽和度(S):
色彩的純度,越高色彩越純,低則逐漸變灰,取0-100%的數值。
明度(V)亮度(L):取0-100%。
HSV膚色範圍:7 < H < 20;25 < S < 255;50<V<255

3. CR+OTSU:

針對YCbCr中Cr分量的處理,將RGB轉換為YCbCr,對Cr通道單獨進行otsu處理(運用opencv的threshold做otsu)

執行結果:

    Original:

     YCbCr:

    

    HSV:

    

    CR+OTSU:

沒有留言:

張貼留言