邊緣偵測與製作線條自畫像 Edge Detection Contour Drawing
撰寫一個程式,讀取一張256 色灰階圖像或 RGB 全彩圖像(.bmp 或.jpg 圖像格式都可) ,利用Sobel Operators 偵測圖像邊緣,並以邊緣偵測為基礎(如彩色圖像針可先將圖片 由 RGB 轉換至HIS 或 YUV, YCbCr 等色彩空間,只需對亮度 Channel I或Y處理,再轉回 RGB 即可),設計一個類似素描線條自畫像程式。(如果可以分析邊緣偵測所得到的點,結合成線條方式呈現更佳!)
二. 使用環境
windows10、Visual Studio 2017、opencv 3.4.1
三. 實作方法
1. 將讀入的灰階影像做高斯模糊 GaussianBlur
2. 接著用Sobel做邊緣檢測,Gx用來檢測水平邊緣,Gy用來檢測垂直邊緣
3. 用 addWeighted 以水平檢測0.5的比重,垂直檢測0.5的比重,得出加重後的結果
4. 接著將原圖做去色
5. 將去色後的圖反色
6. 將反色後的圖做高斯模糊
7. 利用減淡公式,將圖像疊加,並將顏色減色
四. 實作結果
原圖 |
做完sobel然後疊加之後 |
做完減色並疊加後 |
沒有留言:
張貼留言