s1081402 作業5
開發環境:Python 3.9.13, macOS 13.2.1, OpenCV 4.7.0
功能:
膚色偵測 Skin Color Detection
利用你所學的顏色(Color)的知識與技術,撰寫一個程式來偵測一張輸入照片中的皮膚區域並將其標示出。
說明:
先將圖像轉換為HSV色域,並定義皮膚在HSV色域中的色彩範圍
lower_skin = np.array([5, 60, 40], dtype=np.uint8)
upper_skin = np.array([40, 180, 255], dtype=np.uint8)
再使用cv2.inRange進行HSV色域的篩選, 並再次將圖像轉換為YCrCb色域,
並定義皮膚在YCrCb色域中的色彩範圍
lower_skin = np.array([0, 220, 200], dtype=np.uint8)
upper_skin = np.array([255, 250, 250], dtype=np.uint8)
且使用cv2.inRange進行YCrCb色域的篩選,
接著再使用cv2.morphologyEx去除噪點後就得到我們所想要的皮膚遮罩 最後再將遮罩改成紅色後和原圖疊加在一起就是我們所偵測的皮膚區域了
成果:
功能:
膚色偵測 Skin Color Detection
利用你所學的顏色(Color)的知識與技術,撰寫一個程式來偵測一張輸入照片中的皮膚區域並將其標示出。
說明:
先將圖像轉換為HSV色域,並定義皮膚在HSV色域中的色彩範圍
lower_skin = np.array([5, 60, 40], dtype=np.uint8)
upper_skin = np.array([40, 180, 255], dtype=np.uint8)
再使用cv2.inRange進行HSV色域的篩選, 並再次將圖像轉換為YCrCb色域,
並定義皮膚在YCrCb色域中的色彩範圍
lower_skin = np.array([0, 220, 200], dtype=np.uint8)
upper_skin = np.array([255, 250, 250], dtype=np.uint8)
且使用cv2.inRange進行YCrCb色域的篩選,
接著再使用cv2.morphologyEx去除噪點後就得到我們所想要的皮膚遮罩 最後再將遮罩改成紅色後和原圖疊加在一起就是我們所偵測的皮膚區域了
成果:
留言
張貼留言