s1081429 作業5
主題: 膚色偵測Skin Color Detection
題目敘述
利用你所學的 顏色(Color)的知識與技術,撰寫一個程式來偵測一張輸入照片中的皮膚
區域並將其標示出。(請用附件中的三張照片做測試)
Write a program that detect skin color from an image.
開發環境:
- Windows11
- PyCharm
- Python 3.9
- opencv_python-4.70.72-cp37
- numpy-1.24.2-cp39
程式說明:
1.讀取圖像並resize至800*600
2. 使用 cv2.GaussianBlur() 函數對圖像進行高斯模糊處理,以減少噪點的影響。
並使用 cv2.cvtColor() 函數將圖像從BGR顏色空間轉換為YCrCb顏色空間。
3. 定義皮膚色調範圍:根據YCrCb顏色空間中皮膚的色調範圍,定義一個下界 (lower_skin) 和一個上界 (upper_skin),以便進行顏色遮罩。
4.使用 cv2.inRange() 函數基於上界和下界來創建遮罩 (skin_mask),將符合皮膚色調範圍的區域設置為白色(255),其他區域設置為黑色(0)。
5. 形態學運算:
開運算:使用 cv2.morphologyEx() 函數對遮罩進行開運算,以去除噪點和平滑邊緣。
閉運算:使用 cv2.morphologyEx() 函數對遮罩進行閉運算,以填充小的空洞和平滑邊緣。
6.創建一個遮罩並將符合皮膚條件的地方的像素值設置為紅色 (0, 0, 255)並將遮罩套回原始圖像
成果展示:
1.
2.
3.
 
 
 
留言
張貼留言