作業內容:
請撰寫一個程式,利用數學型態學影像處理運算(erode(),
dilate()等函式),計算出所附圖像(共三張)每張圖像中圍棋個數。
a. 請在部落格呈現經由數學型態學影像處理運算後的圖像,同時要呈現你程式輸出棋子數量的螢幕截圖。
b. 程式不一定可以算出正確棋子數量,越接近正確答案越好!
Coding環境:
l
Windows 10 2004
l
Visual Studio Code 1.54.1
l
Anaconda 4.8.3
l
Python 3.9.1
l
OpenCV 4.5.1
程式說明:
1.
使用cv2.imread() 讀取圖片,並用cv2.cvtColor() 轉為灰階。
2.
利用cv2.GaussianBlur降噪再用cv2.threshold()進行二值化,閾值設為100,超過的 設為255,並反轉。
3.
利用cv2.getStructuringElement(),把kernel設為(250,250)
4.
使用cv2.erode() 及cv2.dilate(),先侵蝕再膨脹。
5.
最後用cv2.findContours()
找出棋子數目,並且用cv2.drawContours()畫出輪廓。
處理結果:
IMG_5702.jpg
IMG_5703.jpg
IMG_5704.jpg
預測圍棋數目
沒有留言:
張貼留言