2021年6月11日 星期五

s1071536 影像處理作業7

    一、作業說明 

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


二、作業環境

    Windows 10
    Python 3.7.10
    opencv 4.2.0

三、實作方法

Way1
1.讀入圖片
2.將圖片轉成灰階
3.用較大的Kernal對灰階圖做Erosion
4.用較小的Kernal對灰階圖做Erosion
5.對灰階圖做Dilation
6.使用cv2.findContours尋找輪廓,並利用找到的輪廓數作為預測的棋數

Way2
1.讀入圖片
2.將圖片轉成灰階
3.對原圖做cv2.HoughCircles並將中心點用黑色覆蓋在灰階圖上
4.用較大的Kernal對灰階圖做Erosion
5.用較小的Kernal對灰階圖做Erosion
6.對灰階圖做Dilation
7.在灰階圖上畫上cv2.HoughCircles的結果
8.使用cv2.findContours尋找輪廓,並利用找到的輪廓數作為預測的棋數

四、執行結果

 左圖為Way1,右圖為Way2
 HoughCircles只出現在Way2中,故只有一張圖

Predict Result
Way1 vs Way2

Original Image
output_IMG_5702.JPG

HoughCircles
Additional step in Way2

Erosion
*Way2: original image(gray) - houghcircles -> erosion

Dilation
*Way2: (previous step result -> dilation) + houghcircles

Contours

Original Image
output_IMG_5703.JPG

HoughCircles
Additional step in Way2

Erosion
*Way2: original image(gray) - houghcircles -> erosion

Dilation
*Way2: (previous  step result -> dilation) + houghcircles

Contours

Original Image
output_IMG_5704.JPG

HoughCircles
Additional step in Way2

Erosion
*Way2: original image(gray) - houghcircles -> erosion

Dilation
*Way2: (previous step result -> dilation) + houghcircles 

Contours




沒有留言:

張貼留言