s1093332 作業2

 Assignment2 : Image Thresholding and Edge Detection

功能:

    (a)利用 Sobel Operators 偵測並輸出邊緣成分圖

    (b)設計一個類似素描線條的自畫像圖案。

開發環境:Windows11 + Visual Studio 2022 + Opencv4.7.0

程式說明:

1.以灰階模式讀取圖片,輸出邊緣成分圖

  • imread((path, IMREAD_GRAYSCALE)以灰階模式讀取圖片位置。
(圖一)

(執行結果一)

  • 使用GaussianBlur() 抑制噪聲、平滑圖像
(圖二)
  • 使用Sobel()計算圖像梯度,利用提取的梯度,調整圖像灰度值,提取圖像邊緣。
(圖三)
  • 使用ConvertScaleAbs() 將結果轉為正的。
(圖四)
  • 透過 addWeighted() 實現圖片的線性融合,即可獲得邊緣成分圖。 
(圖五)

(執行結果二)
2.將圖片轉為素描風格
  • 使用threshold()將圖片做二值化。
  • 使用bitwise_not()將圖片黑白翻轉。
  • 透過 addWeighted() 實現圖片的線性融合,即可獲得素描圖。
(圖六)

(執行結果三)

Demo


(Demo影片)


參考資料:
  • https://www.cnblogs.com/chenzhen0530/p/14660498.html
  • https://blog.csdn.net/liqiancao/article/details/50610199

留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1061637 作業6