2019年4月2日 星期二

s1041570 的 作業2

.作業要求

邊緣偵測與製作線條自畫像 Edge Detection and Contour Drawing 撰寫一個程式,讀取一張256 色灰階圖像或 RGB 全彩圖像(.bmp .jpg 圖像格式都可,利用Sobel Operators 偵測圖像邊緣,並以邊緣偵測為基礎(如彩色圖像針可先將圖片 由 RGB 轉換至HIS  YUV, YCbCr 等色彩空間,只需對亮度 Channel I  Y 處理,再 轉回 RGB 即可),設計一個類似素描線條自畫像程式。(如果可以分析邊緣偵測所得到 的點,結合成線條方式呈現更佳!)

.使用環境/語言

Windows7 
 Visual Studio 2017
C++
Opencv 3.4

.實作方式

1,imread()讀入圖片
2.GaussianBlur()將圖片的邊緣模糊化,用來減少雜訊。
3.sobel()分別偵測垂直與水平的邊緣
4,convertScaleAbs()將步驟3得到的兩張圖轉成CV_8U

5.addWeighted()將步驟4得到的兩張圖各乘0.5並相加
6.threshold()固定閥值,把低於閥值的像素當成背景
7.imshow()顯示圖片、imwrite()儲存圖片

四、執行畫面

圖一、原圖

圖二、線條自畫像
圖三、存檔圖

沒有留言:

張貼留言