作業要求:
利用所學的顏色的知識,撰寫一個程式來偵測一張輸入照片中的皮膚區域並將其標示出。
實作平台:
Visual Studio 2015 + OpenCV 3.2 +win 10
使用方法:
讀取圖片後轉成YCrCb,利用色調和飽和度來辨別膚色,給定閾值並用threshold()將其二值化之後把每個顏色通道分割分開,最後去檢查圖像,只要符合設定的範圍即輸出,不符合為黑色。
程式片段:
detectHScolor(image, 160, 10, 25, 166, mask) : 偵測膚色
if (minHue<maxHue)
hueMask = mask1 & mask2;
else // if interval crossed the zero-degrees axis
hueMask = mask1 | mask2
:取minimal到max的膚色飽和度掩蔽
沒有留言:
張貼留言