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.由於範例圖片長寬過大,調整輸出大小為螢幕可以容下的尺寸

最後顯示圖片

四、成果展示



留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1