1. 作業說明:
數學型態學影像處理應用 Morphological Image Processing
請撰寫一個程式,利用數學型態學影像處理運算(erode(), dilate()等函式),計算出所附圖像(共三張)每張圖像中圍棋個數。
2. 作業環境、語言:
作業系統: Windows 10
程式語言:Python 3.8.5
編譯器:Spyder 4
使用python套件:
openCV 4.5.1
numpy 1.20.2
程式語言: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 )
(5) findContours()計算邊緣數量
(6) drawContours()畫上原圖
(7) 輸出print(len(contours))數量,為圍棋數量
HoughCircles偵測
沒有留言:
張貼留言