s1093323 Homework #2

 

1122 Digital Image Processing Assignment #2 

學號:s1093323        姓名:林長宏

主題: 邊緣偵測與圖像二值化

    靜香帶領一群幼稚園小朋友進行認識線條的活動,為了讓小朋友實際觀察元智大學校園環境並將主要景物輪廓線條描繪出,她規劃利用影像處理課程所學習的邊緣偵測(edge detection)與二值化演算法(thresholding)等技術,寫一個程式將所拍攝一些元智建築物與風景照片,處理後列印成一個繪本提供小朋友物件線條學習與臨摹。

   由於成本考量,靜香將以黑白圖案列印繪本。另一方面,考量到小朋友的年紀及本次活動主題為認識線條圖案,希望輸出的結果包括明顯的景物線條如建築物或裝置藝術外觀輪廓,而避免過多複雜邊緣如樹葉,草地的細節呈現等。

請撰寫一個程式提供靜香將彩色照片快速生成黑白輪廓線條圖案,協助她順利設計此次活動所需的繪本。

 開發平台:Microsoft Windows 10, Visual Studio 2022, OpenCV 4.90, C++17

程式架構與功能說明:

考慮到目的是製作繪本,我認為會有多張圖片要進行處理,為了有效率的處理圖片,我讓程式可以批次處理大量圖片。

在程式的同目錄下的input資料夾內放入想要轉換的圖片,接著開啟程式,即可自動將所有圖片轉換後輸出到同目錄下的output資料夾





圖片處理使用GaussianBlurCanny兩個function,先用GaussianBlur去噪然後Canny邊緣偵測,然後輸出圖片

批次處理的部分使用了C++17filesystem功能,這次我主要以處理的效率為主,而實際手動調參數的過程我認為實在是沒什麼效率,所以就決定用固定的參數一次處理所有的圖片

 

 


 

參考結果:










其他圖片:

 















比較有趣的是,同一張圖片,不同解析度的話,結果也會有差,下面這三張由上到下分別是原圖、1/41/16的結果






 




留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1061637 作業6