1122 Digital Image Processing Assignment #2 報告 學號: s1093350 姓名: 楊宜芳 主題: 邊緣偵測與圖像二值化 問題與專案解決目標: 撰寫一個程式,將彩色照片快速生成黑白輪廓線條圖案。 開發環境: Microsoft Windows 11, Visual Studio Code 1.87.1, OpenCV 4.90, Python 3.8.13 程式架構與功能說明: 1. 讓使用者 在 Conslole 輸入原始圖片的檔案名稱(包含副檔名),並讀取圖片。範例如下,藍色部分為使用者自行輸入: § input image filename: yzu1.jpg 程式碼及註解如下圖。 2. 使用 cv2.cvtColor() 函式將圖片從彩色轉為灰階,接著用 cv2.GaussianBlur() 函式對圖片做高斯模糊,再使用 cv2.Canny() 函式對圖片做邊緣偵測,最後將處理好的圖片儲存到 output 資料夾。若讀取圖片失敗,則印出「 Please try again. 」。程式碼及註解如下圖。 使用函式說明: § cv2.cvtColor (img, cv2.COLOR_BGR2GRAY ) cv2.cvtColor() 可用來轉換影像的色彩。第一個參數為原始圖片,第二個參數為要轉換的色彩空間。 cv2.COLOR_BGR2GRAY 為 RGB 轉灰階。 § cv2.GaussianBlur(img_gray, (5, 5), 0) cv2.GaussianBlur() 可使用高斯分佈來進行模糊化。第一個參數為原始圖片,第二個參數為 kernel 大小(須為正奇數), kernel 越大,模糊效果越明顯。第三個參數為標準差,設為 0 。 § cv2.Canny(img_blur, 120, 225) cv2.Canny() 可用來做邊緣偵測。第一個參數為原始圖片,第二、三個參數為閾值,範圍可設為 0 - 255 。若像素的...
留言
張貼留言