s1101327 Homework #2

 

1122 Digital Image Processing Assignment #2 報告

學號:1101327   姓名:柯翔崴

主題資料夾內多圖像邊緣偵測

專案目標:

為了讓使用者在選取圖像上和提取圖像中的邊緣更為方便,撰寫一個OpenCV、搭配Tkinter的程式讀取資料夾內多張圖像。可以按下鍵盤上的S儲存成一張提取完圖像邊緣的二值圖像,作為幼稚園學生認識線條的教材,並讓學生更了解元智建築物線條的美麗。同時藉由鍵盤上的AD或空白鍵來達到讀取上一張和下一張圖像的效果,在切換至下一張圖片時,可以預覽其邊緣提取之效果,按下S則儲存圖像的輪廓圖檔,按下ESC則退出程式。

 

開發平台:Microsoft Windows 10, Visual Studio Code, OpenCV 4.9.0, tk 0.1.0, numpy 1.16.4, Python 3.9.18

 

程式架構與功能說明:

Assignment1資料夾內含有codeimageres等資料夾,code為存放此專案的程式碼(main.py)image內放入所有想處理的圖像檔;res為存放提取邊緣後的圖像檔。


執行前可以先在預設好的環境內輸入“pip install -r requirements.txt” 載入此專案所需要的package



        程式主要為對圖像進行兩次的高斯模糊,將圖像進行模糊化來達到邊緣保留的效果,以便後續的圖像處理。

           接著,利用Canny演算法來提取模糊化圖像的邊緣,這部分調用了許多閾值,並選取提取邊緣效果最好的閾值來進行處理,而其結果可以看到樹葉與草地的輪廓被清除,並保留了建築物的輪廓。

 

成果展示與討論:

        首先,程式會打開一個檔案對話框,讓使用者選擇要讀取的資料夾,該資料夾中包含所有要處理的圖像檔。

        使用者可以利用輕按特定鍵盤來達到預設效果。A/空白鍵: 上一張; D: 下一張圖像來進行多圖像的編輯(yzu4.jpg下一張為yzu1.jpg); S: 儲存完成提取邊緣的圖像檔到特定資料夾中。



範例一:

 

範例二:

  

範例三:

  

範例四:

  

留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1