撰寫一個程式,讀取一張 256 色灰階圖像或 RGB 全彩圖像(.bmp 或.jpg 圖像格式都可) ,利用 Sobel Operators 偵測圖像邊緣,並以邊緣偵測為基礎(如彩色圖像針可先將圖片 由 RGB 轉換至 HIS 或 YUV, YCbCr 等色彩空間,只需對亮度 Channel I 或 Y 處理,再 轉回 RGB 即可),設計一個類似素描線條自畫像程式。(如果可以分析邊緣偵測所得到 的點,結合成線條方式呈現更佳!)
使用環境:windows10、Visual Studio 2017、opencv-3.4.5
特殊程式片段:
利用imread多載參數將讀取的圖片轉為灰階
利用GaussianBlur進行平滑化處理
接著使用Sobel 函數來取得x跟y方向的梯度
接著使用convertScaleAbs 將梯度轉為CV_8U 格式
使用addWeighted結合圖片為結果
功能與執行結果:
左邊為原始圖片(讀進來已經轉成灰階)
右邊為進行處理之後的自畫像相片
圖片來源為身分證照片示意圖
沒有留言:
張貼留言