2021年3月25日 星期四

s1071545 影像處理作業 2

主題 : 線條自畫像

題目:

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

開發環境:

    Window 10

     Anaconda

     VScode

     Python

運行說明:

    開始執行後輸入圖片的絕對位置,由於路徑可能有中文的情況,所以使用 cv2.imdecode 來讀取彩色圖片,接著使用 cv2.cvtColor 來將彩色圖片轉換為灰階圖片(第一個參數為要改變的圖片;第二是轉變的方式,而彩色轉灰階使用的是 cv2.COLOR_BGR2GRAY)。接著使用 Sobel 函數分別對X、Y方向來計算梯度,再將計算完的結果利用 cv2.bitwise_or 進行合併(參數為合併的兩個圖片,此函數為圖片的 OR)。最後使用 255 減去每一個像素之數值來達到反白的效果。

執行畫面:

原圖:


轉換為灰階後:


計算X方向梯度:


計算Y方向梯度:


X、Y梯度合併:


合併後反白:


沒有留言:

張貼留言