作業內容:
撰寫一個程式,讀取一張 256 色灰階圖像或 RGB 全彩圖像(.bmp 或.jpg 圖像格式都可,如全彩圖像可先將圖片由 RGB 轉換至灰階影像),利用 Sobel
Operators 圖像邊緣為基礎,設計一個類似素描線條自畫像程式。(如果可以分析邊緣偵測所得到的點,結合成線條方式呈現更佳!)
Coding環境:
l
Windows 10 2004
l
Visual Studio Code 1.54.1
l
Anaconda 4.8.3
l
Python 3.9.1
l
OpenCV 4.5.1
程式說明:
1.
使用Python import OpenCV
2.
使用cv2.imread讀取圖片存入img
3.
利用cv2.cvtColor及參數cv2.COLOR_BGR2GRAY將圖片轉灰階
4.
利用cv2.GaussianBlur讓圖片更平滑以減少噪點
5.
在X及Y兩個方向上用cv2.Sobel做處理,並用cv2.convertScaleAbs進行編碼的轉換
6.
最後用cv2.addWeighted將X跟Y的結果合併
7.
進行黑白轉換並用cv2.imshow印出
處理結果:
原圖:
轉為灰階:
X軸及Y軸的處理結果:
合併後進行黑白反轉:
沒有留言:
張貼留言