s1093350 Homework #4

1122 Digital Image Processing Assignment #4報告

學號:s1093350      姓名:楊宜芳 

主題:膚色偵測 Skin Color Detection

問題與專案解決目標: 

撰寫一個程式來偵測照片中的皮膚顏色區域並將其標示出。接著使用附件中的 6 張照片及膚色標準答案(Ground Truth)做測試,並呈現所設計膚色偵測方法執行結果的 IOU(Intersection Over Union)數值。

開發環境:Microsoft Windows 11, Visual Studio Code 1.87.1, OpenCV 4.90, Python 3.8.13


程式架構與功能說明: 

1.      讀取圖像、膚色標準答案。其中先將讀入的圖像轉換為RGB空間。


2.      檢測讀入圖像的膚色區域。先新增轉換為HSV空間的圖像,接著初始化一個與原始圖像大小相同的mask,並同時使用HSVRGB像素的值來判定圖像中的每個像素是否為膚色像素,若為膚色像素,則將該像素的mask的值設為1



3.      判斷像素是否為膚色像素。先取得該像素的RGBHSV值,並檢查是否符合所設定的條件,若符合,則判定為膚色像素。其中,HSVpython中的數值和一般常見的表示法不同,因此需先將值做轉換再判定。




4.      使用給定的膚色標準答案,計算所設計的膚色偵測方法執行結果的IOU值。分子為交集,分母為聯集。




5.      主程式:使用迴圈執行1~4副程式。對每張圖片執行膚色偵測,顯示每張圖片的執行結果並儲存,並以百分比顯示每張圖片的IOU值。最後計算出所有圖片的平均IOU值。


成果展示與討論:

§   Pic1 原圖/標準答案/偵測結果:




§   Pic2 原圖/標準答案/偵測結果:



§   Pic3 原圖/標準答案/偵測結果:



§   Pic4 原圖/標準答案/偵測結果:



§   Pic5原圖/標準答案/偵測結果:



§   Pic6原圖/標準答案/偵測結果:




§   每張的IOU值及平均IOU值:


影片:




留言

這個網誌中的熱門文章

[s1101438 Homework #7]

[s1101438 Homework #4]