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




沒有留言:

張貼留言