作業說明:
撰寫一個程式,以灰階模式讀取一張圖像 imread(path, IMREAD_GRAYSCALE) (a)利用 Sobel Operators 偵測並輸出邊緣成分圖
(b)設計一個類似素描線條的自畫像圖案。(想想:如何使用邊緣偵測所得到的點,結合 成看似素描筆畫出的線條?)
開發環境:
l Windows 11
l Anaconda 4.10.3
l Python 3.9.7
l numpy 1.20.3
l opencv-python 4.5.5.62
程式說明:
1. 輸入要讀取的圖片路徑
2. 選擇Mode
(a)利用 Sobel Operators 偵測並輸出邊緣成分圖
(b)設計一個類似素描線條的自畫像圖案
3.1 Mode a用cv2.Sobel()分別找出x和y的梯度,再用cv2.addWeighted()合併
3.2 Mode b把原圖反白後做Gaussian
Blur,用cv2.divide之後輸出
Gaussian Blur中 ksize和sigma的值可以用trackbar來調整,範圍設定為0~100,ksize 實際的質為trackbar 中ksize的值 * 2
+ 1 (按Esc關閉視窗)
4. 關閉視窗後輸入要輸出的圖片名稱
執行結果:
原圖
灰階圖
Mode a
Mode b
沒有留言:
張貼留言