s1093338 Homework #2
1122 Digital Image Processing Assignment #2 報告
學號:1093338 姓名:簡毓臻
主題: 邊緣偵測與圖像二值化
專案目標:
使用者輸入檔案路徑及名稱,希望去除多餘邊緣細節,將原始圖片的景物,以黑白輪廓線條圖案呈現並存檔。
開發環境:
- 用的作業系統:Windows
- 開發環境:VScode
- 用的套件:OpenCV version: 4.9.0
- 程式語言:Python 3.12.0
程式架構與功能說明:
使用者在 console 輸入圖片路徑及檔名,會顯示出 "Original Image" 及經處理過後會出現的 "Canny Edges" 兩個視窗,在 "Original Image" 有兩個 Trackbar 可以調整 Canny 的 lower thershold 及 upper threshold。 最後按下 "s" 可以將輪廓圖存檔,按下 "q" 可關閉視窗。
完成專案目標圖片,可以透過 OpenCV 中的一些 function
- cv2.cvtColor(img, cv2.COLOR_BGR2GRAY): 將圖片轉成灰階,因為只需要圖片中的亮度訊息,轉成灰階圖像也能減少計算及時間。
- cv2.GaussianBlur(gray_img, (3, 3), 0):再來使用高斯模糊來減少噪點,然後要確保 kernal size 是奇數。
- edges = cv2.Canny(Blur_img, lower, upper):找到圖片邊緣。
成果展示與討論:
*threshold 都有根據圖片再調整 trackbar,初始 lower = 100、upper = 200
執行範例一:
執行範例二:
執行影片:
留言
張貼留言