s1091404 作業2

主題: 線條自畫像 (二值化與邊緣偵測 Image Thresholding and Edge Detection) 

撰寫一個程式,以灰階模式讀取一張圖像 imread(path, IMREAD_GRAYSCALE) 

(a)利用 Sobel Operators 偵測並輸出邊緣成分圖 

(b)設計一個類似素描線條的自畫像圖案。(想想:如何使用邊緣偵測所得到的點,結合成看似素描筆畫出的線條?)
開發環境: Windows10, visual studio 2019, opencv 4.5.4, c++

功能說明: 先用imread()將原圖以灰階形式讀取,接著再使用Sobel分別擷取x方向和y方向的輪廓


可藉由調整內核大小(通常使用3, 5, 7)和圖片格式(CV_8U, CV_16S等)來改善邊緣擷取的精確度

convertScaleAbs對擷取結果做絕對值,然後再用addWeighted將x方向和y方向的輪廓相加後得到灰階形式的邊緣成分圖

得到邊緣成分圖後為了得到仿素描筆畫出的線條,將對邊緣圖再做進一步處理。由於想過濾到太過精細的邊緣線條,因此使用threshold將邊緣圖二值化,為了不要失去太多主要的輪廓線條所以將閾值設為80。
最後用bitwise_not讓二值圖黑白反轉,營造出仿素描的線條結果圖












留言

這個網誌中的熱門文章

rzwang Homework #1

s1101438 Homework #1

s1093309 作業6