作業說明
請撰寫一個程式,利用數學型態學影像處理運算(erode(), dilate()等函式),計算出所附圖像(共三張)每張圖像中圍棋個數。
a. 請在部落格呈現經由數學型態學影像處理運算後的圖像,同時要呈現你程式輸出棋子數量的螢幕截圖。
b. 程式不一定可以算出正確棋子數量,越接近正確答案越好!
a. 請在部落格呈現經由數學型態學影像處理運算後的圖像,同時要呈現你程式輸出棋子數量的螢幕截圖。
b. 程式不一定可以算出正確棋子數量,越接近正確答案越好!
開發環境
- Windows 11
- Visual Studio Code
- Anaconda 4.11.0
- OpenCV 4.5.5
程式說明
- 以imread()讀取圖像
- 因圖像過大,需要以resize()調整圖像大小
- 將圖像轉成灰階圖
- 用GaussianBlur()把圖像變得更平滑,去除雜訊
- 以threshold()將圖像二值化
- 先用erode()移除雜訊,再用dilate()進行影像膨脹
- 使用HoughCircles()找出圖像中所有棋子(圓形),再將偵測到的棋子以紅圈標註起來
實作結果
原圖 |
Erosion+Dilation |
偵測後的結果 |
沒有留言:
張貼留言