s1093304 作業5

一、作業說明

主題: 膚色偵測 Skin Color Detection

利用你所學的顏色(Color)的知識與技術,撰寫一個程式來偵測一張輸入照片中的皮膚 區域並將其標示出。(請用附件中的三張照片做測試)

二、開發環境

  • Windows 10
  • Visual Studio Code 1.76.1
  • Python 3.9.15
  • OpenCV 4.6.0

三、實作過程

  • 首先使用cv2.resize(cv2.imread("img1.jpg"), (0, 0), fx=0.2, fy=0.2)並調整圖片大小(範例圖片太大了會超出螢幕範圍),其中img1可換成img2、img3...來讀取其他圖片,fx和fy是調整圖片長寬比例
  • 使用cv2.cvtColor(img, cv2.COLOR_BGR2HSV)轉換成HSV色彩空間
  • 設定皮膚色的範圍,定義 0 < H < 40、58.65 < S < 173.4、40 < V < 255
  • 使用cv2.inRange根據所定義的範圍建立mask,將非皮膚的部分設為0
  • 將原圖與mask做cv2.bitwise_and,得到如下圖結果(由左至右分別為原圖→mask→擷取皮膚區域)
    圖一、img1

    圖二、img2

    圖三、img3

    圖四、img4

留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1