2019年3月31日 星期日

1051527作業二

一、作業題目:

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

、執行環境:

windows 10  ,  opencv-4.0  ,  Spyder(Python-3.7)。

、程式撰寫:

一開始先請你輸入要開啟的檔名,若檔名錯誤會叫你重新輸入,檔名對了就用imread開啟圖檔(使用方法為在此資料夾找符合的檔案),之後使用Sobel()函數得到x和y(即是垂直和水平)的一階梯度,在來使用convertScaleAbs()函數將其轉回原來的uint8形式,再來使用addWeighted()把垂直和水平的合在一張圖上,就為我們要的素描圖,再利用imwrite()存成一個output.jpg檔。

四、程式展現:

(一)
輸入錯誤:








輸入正確則跑出圖檔:












(二)
輸出素描檔:

















(三)
存成output.jpg:



沒有留言:

張貼留言