撰寫一個程式,讀取一張 256 色灰階圖像或 RGB 全彩圖像(.bmp 或.jpg 圖像格式都可) ,利用 Sobel Operators 偵測圖像邊緣,並以邊緣偵測為基礎(如彩色圖像針可先將圖片 由 RGB 轉換至 HIS 或 YUV, YCbCr 等色彩空間,只需對亮度 Channel I 或 Y 處理,再 轉回 RGB 即可),設計一個類似素描線條自畫像程式。
二、作業環境:
- windows10
- visual studio 2017
- opencv 3.4.1
三、程式片段:
- cvtColor():先將BGR轉成YCrCb
- split():將Y、Cr、Cb進行切割,再將Y取出來進行運算
- Sobel():分別找出對X微分及對Y微分後的輪廓
- convertScaleAbs():將圖片的像素深度轉換為CV_8U
- GaussianBlur():去除雜訊
- addWeighted():將對X及對Y微分的圖片相加
- threshold():設定閥值,閥值以下設為零
四、成果展示:
- img0為原圖
- img1為Y值的圖
- img2為轉換為RGB後的圖
沒有留言:
張貼留言