2019年6月6日 星期四

s1051509 的作業五

作業要求:
請撰寫一個程式,利用數學型態學影像處理運算,計算出所附圖像(共三張)每張圖像中 圍棋個數。 
a. 請在部落格呈現經由數學型態學影像處理運算後的圖像,同時要呈現你程式輸出棋 子數量的螢幕截圖。
 b. 程式不一定可以算出正確棋子數量,越接近正確答案越好!
使用環境:windows10、Visual Studio 2017、opencv-3.4.5

特殊程式片段:
利用cvtColor 將讀取的圖片轉為灰階
利用GaussianBlur進行平滑化處理

利用threshold進行圖像二值化
接著erode、getStructuringElement 函式進行侵蝕 使得交疊的圍棋有辦法分開
(getStructuringElement 內的矩陣尺寸隨著不同的圖片進行調整)

最後利用 findContours 計算邊界數量,即可算出大略的圍棋數量

功能與執行結果:
左邊為原始圖片
右邊為進行侵蝕處理之
下面小黑窗顯示的是計算之後的邊界數量(圍棋數量)

圖片1:


erode的偵測邊界大小矩陣設成7*7
實際:24顆,偵測到21顆,誤差3顆

圖片2:

 erode的偵測邊界大小矩陣設成6*6
實際:31顆,偵測到32顆,誤差1顆
圖片3:


erode的偵測邊界大小矩陣設成5*5
實際:31顆,偵測到31顆,誤差0顆

沒有留言:

張貼留言