2022年6月3日 星期五

s1081541 作業7

 

作業說明:

    程式功能:數學型態學影像處理應用 Morphological Image Processing,撰寫一個程式,利用數學型態學影像處理運算(erode(), dilate()等函式),計算出所附圖像(共三張)每張圖像中圍棋個數。

開發環境: 

        Windows 10 + Visual Studio 2019 + OpenCV 4.5.0 + C++


實作方法:

1. 輸入圖片路徑和檔名,讀取圖片,輸出原圖(Original)。
2. 將圖片以灰階形式讀取。
3. erode(),侵蝕讓圖片細化影像;
4. dilate(),膨脹讓圖片的輪廓恢復正常,輸出侵蝕和膨脹過後的灰度圖(Erosion and Dilation)

IMG_5702.JPG

IMG_5703.JPG

IMG_5704.JPG


        5. HoughCircles(image, method, dp, minDist, circles, param1, param2, minRadius, maxRadius),偵測圓形,image:侵蝕和膨脹過後的灰度圖,method;HOUGH_GRADIENT,爲檢測方法,dp:檢測內側圓心的分辨率,minDist:表示兩個圓之間的最短距離,param1:method設置的檢測方法的對應的參數,canny邊緣檢測算子的高閾值,param2: method設置的檢測方法的對應的參數,檢測階段圓心的累加器閾值,minRadius:半徑的最小值,maxRadius:半徑的最大值。

        6. Circle(image, center, radius, color, thickness, line type, shift)函式畫圓,image:圖像, center:圓心座標, radius:圓的半徑, color:線條顏色, thickness:線條寬度, line type:線條類型, shift: 圓心和半徑值的小數點位數,輸出畫圓形後的圖像(Result)

       7.輸出棋子數量。

執行結果:

    IMG_5702.JPG:實際棋子數量=24,計算結果=23;
    IMG_5703.JPG:實際棋子數量=31,計算結果=31;
    IMG_5704.JPG:實際棋子數量=31,計算結果=31。

IMG_5702.JPG

IMG_5703.JPG

IMG_5704.JPG

沒有留言:

張貼留言