s1091541 作業5
主題: 膚色偵測 Skin Color Detection
利用你所學的 顏色(Color)的知識與技術,撰寫一個程式來偵測一張輸入照片中的皮膚 區域並將其標示出。
開發環境:
- windows11
- Opencv 4.7.0
- Visual Studio 2022
C++
程式碼說明:
本次作業使用了HSV以及YCrCb中Cr分量搭配Otsu閥值分割兩種方法呈現。
l HSV:
1. 首先設定遮罩。
2.
使用cvtColor()將圖像轉為HSV色彩空間。
3.
將代表皮膚像素的範圍框在H:0-25、S:40-255和V:50-255。
4.
依上述範圍套上遮罩後便可呈現出結果。
l
YCrCb中Cr分量搭配Otsu閥值分割:
1.
使用cvtColor()將圖像轉為YCrCb色彩空間。
2.
使用split()分割顏色通道,並只留下其中的Cr通道。
3.
使用threshold()對Cr通道進行自動閥值分割作為遮罩。
4.
最後將初始圖套上遮罩便可呈現結果。
成果:
l HSV:
l
YCrCb中Cr分量搭配Otsu閥值分割:
留言
張貼留言