2020年6月27日 星期六

1061542影像處理作業6

一、 作業說明: 
請撰寫一個程式,利用數學型態學影像處理運算(erode(), dilate()等函式),計算出所附圖像(共三張)每張圖像中圍棋個數。
  • 請在部落格呈現經由數學型態學影像處理運算後的圖像,同時要呈現你程式輸出棋子數量的螢幕截圖。 
  • 程式不一定可以算出正確棋子數量,越接近正確答案越好!

二、 使用環境: 
1. Python 
2. OpenCV

三、 實作方法:
1. cv2.imread()讀取所有圖片
2. cv2.threshold()對影像作二值化,因為cv2.erode()跟cv2.dilate()只接受二值化的圖片
3. cv2getStructuringElement(cv2.MORPH_RECT, (5,5))產生kernel,為erode()與dilate()參數之一
4. cv2.erode()對影像侵蝕,次數為1
5. cv2.dilation()對影像膨脹,次數隨圖片調整,為50上下
6. cv2.findContours()偵測輪廓,回傳contours的長度為棋子的個數

四、 實作結果:

1. "IMG_5702.JPG":實際24個,偵測到24個棋子
76次dilation

















2. "IMG_5703.JPG":實際31個,偵測到31個棋子
44次dilation

















3. "IMG_5704.JPG":實際31個,偵測到31個棋子
40次dilation

沒有留言:

張貼留言