s1071413 作業5
一、作業說明
膚色偵測 Skin Color Detection
利用你所學的 顏色(Color)的知識與技術,撰寫一個程式來偵測一張輸入照片中的
皮膚區域並將其標示出。(請用附件中的三張照片做測試)
Write a program that detect skin color from an image.
二、開發環境
- Windows10
- Visual Studio 2019
- C++
- OpenCV 4.7.0
三、程式說明
核心想法:僅繪出偵測到的區塊部分
在第6行讀入檔案,接著程式以以下步驟進行:
1.將圖片轉換為HSV
2.定義皮膚色彩的範圍:lowerSkinColor和upperSkinColor,根據不同圖片可能需要調整其色相、飽和度、明度的值,例如img3女性髮色和膚色較為接近,可以將upperSkinColor = cv::Scalar(20, 200, 255) 換成這樣以適應不同的皮膚色彩範圍。
3.偵測並繪製:使用inRange函數以給定的範圍創建遮罩
4.使用了cv::morphologyEx函數去除皮膚區域中的噪點和填補小的區域。cv::findContours函數找到皮膚區域的輪廓,並使用cv::drawContours函數繪製這些輪廓。
5.由於範例圖片長寬過大,調整輸出大小為螢幕可以容下的尺寸
最後顯示圖片
留言
張貼留言