s1083506 作業2

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

撰寫一個程式,以灰階模式讀取一張圖像imread(path, IMREAD_GRAYSCALE) (a)利用 Sobel Operators偵測並輸出邊緣成分圖(b)設計一個類似素描線條的自畫像圖案。(想想如何使用邊緣偵測所得到的點,結合成看似素描筆畫出的線條?)

實作方法

使用cv2.Sobel分別計算X軸與Y軸的梯度,經過多次的嘗試個人認為scale參數設成0.5較為理想,若數值太高雜訊則會太多,反之,數值太低呈現出的線條會太淡。再來,使用cv2.convertScaleAbs計算X軸與Y軸之梯度絕對值。最後,用cv2.addWeighted將兩者合併,alphabeta皆設定為0.5,即可得到黑底白線的邊緣圖。因為,素描大多數都是白底黑線,所以,使用cv2.bitwise_not將黑白反轉,就會得到類似於素描的圖片。


執行解果





開發環境

OSmacOS Monterey 12.6.3

EditorVisual Studio Code

LanguagePython 3.8.16

PackageOpenCV 4.7.0

留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1061637 作業6