2021年5月16日 星期日

s1073344影像處理作業4

作業說明

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

作業環境

Windows 10

anaconda

python 3.8.5

OpenCV 4.5.1

實作方法

我嘗試了兩個方法,分別是以HSV及YCRCB做判斷

HSV:

  • 使用cvtColor將圖片轉為HSV color space
  • 將圖片利用cv2.split分為H、S、V三個通道
  • 對H、S、V通道進行膚色偵測,判斷膚色範圍,將範圍7<H<20、28<H<255、50<V<255外的顏色設為黑色
YCrCb:
  • 使用cvtColor將圖片轉為YCrCb color space
  • 將圖片利用cv2.split分為y、cr、cb三個通道
  • 對cr通道進行膚色偵測,判斷膚色範圍,將範圍140<Cr<175、100<Cb<120外的顏色設為黑色


兩種方法的第一張圖中,沙灘的顏色都有挺大片被判斷為膚色,但是衣物的顏色大多都有被去除
而第二張圖的結果,YCRCB的結果比HSV較好,頭髮大多都有被去除,YCRCB中間下面的背景也有被去除(HSV的則被保留)



沒有留言:

張貼留言