s1082046 作業 5
主題: 膚色偵測 Skin Color Detection
利用你所學的顏色 (Color) 的知識與技術,撰寫一個程式來偵測一張輸入照片中的皮膚區域並將其標示出。(請用附件中的三張照片做測試)
一、 開發環境:
- Windows 11
- Visual Studio 2022 C++
- OpenCV 4.7.0
二、 程式功能:
(一) 主程式
Step1:
使用者輸入(Cin >> img_name)欲偵測膚色的圖片名稱
Step2:
利用imread()載入圖片
Step3: 由於原圖過大,在此用resize()等比例縮小10倍,以便觀察
Step4: 利用imshow()輸出原圖(src_img)查看
Step5: 跳至副程式skinDetect()做膚色偵測
(二) 副程式(skinDetect())
採用RGB顏色空間的閾值來做膚色識別
在研究論文Human Skin Colour Clustering for Face Detection中證明,膚色在RGB模型下的範
圍滿足以下約束:
Step1: 利用copyTo()複製一份與原圖相同大小之矩陣作為temp_result
Step2: 利用兩層迴圈遍歷矩陣的每個值(row and colum)
Step3: 當滿足以上RGB模型約束,將該範圍填充紅色
三、 結果:
範例(一)
範例(二)
範例(三)
四、 程式Demo:
留言
張貼留言