2021年3月21日 星期日

s1073322 影像處理作業 2

    

作業說明

        撰寫一個程式,讀取一張 256 色灰階圖像或 RGB 全彩圖像(.bmp 或.jpg 圖像格式都可, 如           全彩圖像可先將圖片由 RGB 轉換至灰階影像),利用 Sobel Operators 圖像邊緣為基礎,設           計一個類似素描線條自畫像程式。(如果可以分析邊緣偵測所得到的點,結合成線條方呈現
        更佳!)


開發環境

        Windows 10/cmd/python/openCV 4.5.1


程式解釋

        Sobel函示解釋:第一個引數為輸入圖,第二個引數為cv2.CV_16s,因為Sobel函式求完導
        後會有負值和大於255的數值,因此原影像的unit8(8位元無符號數)會有無法表示的情
        況,須改用為16位有符號的資料型別。而第三第四個引數(dx、dy)極為求導階數,值可
        0、1、2。當dx=0且dy=1時即可求y方向的一階導數(absY),dx=1且dy=0時則為x方向的
        一階導數(absX)。
        接下來需使用convertScaleAbs將求得的x和y從16位元轉回8位元以顯示圖片,最後將兩者              以addWeighted組合起來,兩個0.5表示dst中absX和absY權重各佔一半。


圖片效果


原圖
灰階

absX

absY

dst

反白dst









沒有留言:

張貼留言