作業說明:
撰寫一個程式,讀取一張 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權重各佔一半。
圖片效果:
沒有留言:
張貼留言