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,並同時使用HSV、RGB像素的值來判定圖像中的每個像素是否為膚色像素,若為膚色像素,則將該像素的mask的值設為1。
3. 判斷像素是否為膚色像素。先取得該像素的RGB、HSV值,並檢查是否符合所設定的條件,若符合,則判定為膚色像素。其中,HSV在python中的數值和一般常見的表示法不同,因此需先將值做轉換再判定。
4. 使用給定的膚色標準答案,計算所設計的膚色偵測方法執行結果的IOU值。分子為交集,分母為聯集。
5. 主程式:使用迴圈執行1~4副程式。對每張圖片執行膚色偵測,顯示每張圖片的執行結果並儲存,並以百分比顯示每張圖片的IOU值。最後計算出所有圖片的平均IOU值。
成果展示與討論:
§ Pic1 原圖/標準答案/偵測結果:
§ Pic2 原圖/標準答案/偵測結果:
§ Pic3 原圖/標準答案/偵測結果:
§ Pic4
原圖/標準答案/偵測結果:
§ Pic5原圖/標準答案/偵測結果:
§ Pic6原圖/標準答案/偵測結果:
§ 每張的IOU值及平均IOU值:
影片:
留言
張貼留言