s1091523 Homework #2
1122 Digital Image Processing Assignment #2 報告
學號: s1091523 姓名:郭芳妤
主題: 邊緣偵測與圖像二值化
專案目標:
寫一個Opencv程式,利用邊緣偵測與圖像二值化等影像處理技術,將彩色圖片轉換成黑白線條輪廓圖片,並且避免過多的複雜邊緣,可以作為製作繪本的素材。
開發平台:
Microsoft Windows 11, Visual Studio Code,
OpenCV 4.9.0, Python 3.11.0
程式說明:
主要流程為將彩色圖片轉灰階圖片後,使用Gaussian Blur來模糊影像,再利用Canny偵測邊緣,輸出二值化影像。
為了避免過多的複雜邊緣,我先做一次邊緣偵測,在第一次做完邊緣偵測後,將得到的二值化圖切分成好幾個矩形區域進行遍歷,針對每個區域計算(白色像素點數/黑色像素點數)的比例,若大於35%,則強化模糊該區域,以此方式嘗試減少複雜度。
功能:
1.
Trackbar調整影像。
blur: 影像模糊程度(數值小模糊程度較小)
low: Canny函式的low_threshold (低於此數值不會視為邊緣)
high: Canny函式的high_threshold (高於此數值會視為強邊緣保留)
介於門檻值之間則視邊緣連接情況決定是否保留。
invert: 將圖片黑白反轉。
2.
按下S鍵可存檔。
3.
考量繪本繪圖需求,可將圖片轉為白底黑色線條。
4.
按下Esc或關閉視窗可結束程式。
成果:
留言
張貼留言