請撰寫一個程式,利用數學型態學影像處理運算(erode(), dilate()等函式),計算出所附圖像(共三張)每張圖像中圍棋個數。
- 請在部落格呈現經由數學型態學影像處理運算後的圖像,同時要呈現你程式輸出棋子數量的螢幕截圖。
- 程式不一定可以算出正確棋子數量,越接近正確答案越好!
二、 使用環境:
1. Python 3.8
2. OpenCV 4.2.0
3. Matplotlib 3.2.1
三、 實作方法:
1. 使用cv2.imread()讀取圖片
2. 使用cv2.threshold()對影像作二值化,閥值設為100
3. 使用cv2getStructuringElement()產生用來作侵蝕與膨脹的Structure Element
4. 使用cv2.erode()和cv2.dilate()對影像進行侵蝕與膨脹
5. 使用cv2.findContours()偵測輪廓找出圖片中棋子的各數
6. 顯示出偵測的棋子數目,且使用plt.show()顯示出原圖與二值化和侵蝕與膨脹後的結果
四、 實作結果:
1. "IMG_5702.JPG":實際24個,偵測到22個棋子
2. "IMG_5703.JPG":實際31個,偵測到31個棋子
3. "IMG_5704.JPG":實際31個,偵測到31個棋子
沒有留言:
張貼留言