作業說明:
利用你所學的Color顏色的知識與技術,撰寫一個程式來偵測一張輸入照片中的皮膚區域並將其標示出。
Coding環境:
- Windows 10 20H2
- Anaconda 3.18.11
- Python 3.9.1
- OpenCV 4.5.1
主要使用Cr+OSTU與YCrCb範圍選取兩種方式來做膚色偵測
- 使用者在呼叫此程式時使用參數呼叫s1071546_hw4.py -i <要處理的檔案檔名> 來使用
- 使用cv2.imread將檔案載入並存成變數img
- 使用cv2.cvtColor將讀入圖片的色彩空間轉成YCrCb
- 使用cv2.split將YCrCb的通道切分出來
- 使用cv2.GaussianBlur套用5*5的Filter減小邊界的影響 (Cr+OSTU)
- 使用cv2.threshold配合cv2.THRESH_BINARY + cv2.THRESH_OTSU來實現OTSU演算法找出適合的閥值並二值化 (Cr+OSTU)
- 使用cv2.inRange來濾出膚色的範圍 (YCrCb),取的範圍為135 < Cr < 180、85 < Cb < 135、80 < Y
- 最後輸出以Cr+OSTU和YCrCb範圍選取的兩種結果
沒有留言:
張貼留言