撰寫一個程式,讀取一張
256 色灰階圖像或 RGB 全彩圖像(.bmp 或 .jpg 圖像格式都可),利用 Sobel Operators
偵測圖像邊緣,並以邊緣偵測為基礎(如彩色圖像可先將圖片由 RGB 轉換至 HIS 或 YUV、YCbCr 等色彩空間,只需對亮度 Channel
I 或 Y 處理﹐再轉回 RGB 即可),設計一個類似素描線條自畫像程式。(如果可以分析邊緣偵測所得到的點,結合成線條方式呈現更佳!)
環境與使用套件版本
- Windows 10
- Python 3.7.1
- opencv-python 4.0.0.21
- PyQt5 5.12
實作方法
- 使用 cv2.GaussianBlur() 將圖片模糊處理,以減少雜訊
- 使用 cv2.Sobel() 取得 x 軸與 y 軸的梯度
- 使用 cv2.convertScaleAbs() 將上面取得的梯度轉回 unit8
- 使用 cv2.addWeighted() 將 x, y 兩個維度的圖片分配權重,並組合再一起
沒有留言:
張貼留言