2021年6月13日 星期日

s1073348 影像處理作業7

 1. 作業說明:  

數學型態學影像處理應用 Morphological Image Processing

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

 

2. 作業環境、語言:

作業系統: Windows 10
程式語言:Python 3.8.5
編譯器:Spyder 4
使用python套件:
openCV 4.5.1
numpy 1.20.2

 

3. 方法:

        使用兩種方法:第一種為直接使用Houghcircle
                                 第二種為用erode去侵蝕並用findcontours來計算點數

        (1) 讀取圖片,需要手動輸入圖片名稱 (ex : 圖片名稱: IMG_5703.jpg )
        
        (2) 灰階化圖片 用cv2.COLOR_GRAY2BGR

        法1:
        (1)直接套入circles = cv2.HoughCircles(dst,cv2.HOUGH_GRADIENT,1,100,
                            param1=100,param2=30,minRadius=150,maxRadius=250)

         (2)輸出偵測到的圓形個數
         
        法2:

        (1)模糊化處理圖片 dimg = cv2.medianBlur(dst,5)     

        (2) 二值化圖片,利用threshold函式

        (3) 計算kernel(橢圓:cv2.MORPH_ELLIPSE 大小為250,250 )

        (4) 用 erode()侵蝕圖片

        (5) findContours()計算邊緣數量

        (6) drawContours()畫上原圖

        (7) 輸出print(len(contours))數量,為圍棋數量



4.執行結果


   
IMG_5702:
HoughCircles偵測:


二值化圖片:
erosion後圖片:

erosion畫上去原圖:


結果





IMG_5703:
HoughCircles偵測

值化圖片:
erosion後圖片:


erosion畫上去原圖:

結果








IMG_5704:

HoughCircles偵測

二值化圖片:
erosion後圖片:


erosion畫上去原圖:

結果
































 

沒有留言:

張貼留言