請撰寫一個程式,利用數學型態學影像處理運算(erode(), dilate()等函式),計算出所附圖像(共三張)每張圖像中圍棋個數。
- 請在部落格呈現經由數學型態學影像處理運算後的圖像,同時要呈現你程式輸出棋子數量的螢幕截圖。
- 程式不一定可以算出正確棋子數量,越接近正確答案越好
二、 使用環境:
1. Windows
2. Packages:opencv-python 4.2.0.34、numpy 1.18.4、matplotlib 3.2.2
3. Programming Language: Python3.6.5
2. Packages:opencv-python 4.2.0.34、numpy 1.18.4、matplotlib 3.2.2
3. Programming Language: Python3.6.5
三、實作方法:
1. 先用cv2,imread()讀取灰階照片
2. 再用cv2.threshold()進行二值化,閾值設為127,超過的設為255,再反轉
2. 再用cv2.threshold()進行二值化,閾值設為127,超過的設為255,再反轉
3. 用cv2.getStructuringElement(),結構元素設為矩型,把kernel設為(250,250)
4. 先對二值化圖片進行cv2.erode()侵蝕
5. 在用cv2.dilate()把侵蝕後的圖片膨脹
6. cv2.findContours(),cv2.drawContours()用來計算棋子個數
5. 在用cv2.dilate()把侵蝕後的圖片膨脹
6. cv2.findContours(),cv2.drawContours()用來計算棋子個數
四、實作結果:
IMG_5702
IMG_5704
沒有留言:
張貼留言