2019年6月6日 星期四

1041542 作業5

一、作業要求:

請撰寫一個程式,利用數學型態學影像處理運算,計算出所附圖像(共三張)每張圖像中
圍棋個數。 

二、環境配置:

windows 10
visual studio 2013
opencv 3.4

三、實作方式:

先以IMREAD_GRAYSCALE讀入灰階圖,將讀入的灰階圖以threshold()進行二值化,一開始進行一般的erode()與dilate()發現在圖二的效果並不好,應該是受圖二棋子上的反光影響,將反光也判斷成棋子邊緣,導致多算出很多棋子,經過多次開運算與閉運算交錯實驗之後發現先以morphologyEx()內的MORPH_OPEN進行開運算後再進行dilate()可以將反光的邊緣補上,精準度也因此提高了不少,最後以findContours()找出邊緣,進而輸出辨識到的邊緣數量。

四、實作結果:

下面三圖為將作業圖片進行上述操作之後的結果。
圖一:















                  圖一:正確24 輸出:20
圖二:















                  圖二:正確31 輸出:34
圖三:















                   圖三正確31 輸出:31
棋子數量結果:








沒有留言:

張貼留言