s1072026 作業 5

 1112 Digital Image Processing Assignment #5

1072026 鄭惠文

作業說明

膚色偵測 Skin Color Detection

利用你所學的 顏色(Color)的知識與技術,撰寫一個程式來偵測一張輸入照片中的皮膚

區域並將其標示出。(請用附件中的三張照片做測試)

Write a program that detect skin color from an image.

開發環境

  • Ubuntu 20.04.5 LTS
  • Visual Studio Code
  • OpenCV 3.4.16
  • C++

實作方式

1.        讀取圖片

2.        將色彩空間從 BGR 轉換成 HSV

3.        根據課程簡報的論文提供的數值為偵測膚色的基準,對圖像中的每個像素進行比對

4.        將原圖的膚色區塊標示為紅色與偵測到是膚色區塊的 mask 顯示出來

執行結果





圖片三的頭髮有部分顏色因為與膚色太相近,所以也被偵測成膚色了,可能可以搭配偵測材質的方式優化偵測的效果。
陰影的部分則是因為亮度不夠而被偵測不到。

環境設定

執行前需安裝以下套件

·        cmake

·        OpenCV 3.4.16

·        libgtk2.0-dev

·        pkg-config

·        xming

o   執行程式時需開啟

·        x11-xserver-utils

如果在 terminal 執行 xhost + 顯示 xhost: unable to open display "",需要設定 export DISPLAY=:0.0,之後執行程式就能顯示視窗。

執行方式

執行 cmake . 產生 makefile,該 makefile 用於編譯主程式時動態連結 OpenCV 函式庫與主程式,之後便可執行編譯好的程式。

參考資料

l   Human Skin Detection Using RGB, HSV and YCbCr Color

留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1