2020年4月9日 星期四

1051728 影像處理作業 2

Thresholding and Edge Detection

二值化與邊緣值偵測


題目:
撰寫一個程式,讀取作業所附 2 張測試圖片,並依據以下步驟完成
1. 設計一個二值化方法將其轉變成黑白圖像
2. 繪出 QR code 黑色模組的外框(可利用 Sobel Operators 偵測即可)

補充說明:
圖片用灰階模式讀取即可,也可以讀取全彩圖像自己處理
imread("檔名", 0); // CV_LOAD_IMAGE_GRAYSCALE
請考量讓所有 QR code 正方形模組邊框完整呈現,並分別呈現兩階段結果
1. 二值化
2. 邊緣偵測

作業環境:
1. Windows10
2. Visual Studio 2017
3. OpenCV 3.4.3

實作:
1. 用imread()讀取圖片
2. 用clone()複製一份圖片以免原始資料被覆蓋
3. 用threshold()將圖片二值化
4. 用sobel()和convertScaleAbs()求取 x 方向和 y 方向的梯度
5. 利用add()和convertScaleAbs()求取總梯度
6. 利用imwrite()儲存圖片

執行結果:
Figure2_1.jpg

原圖                                         二值化後                                邊緣偵測後



Figure2_2.jpg

原圖                                         二值化後                                  邊緣偵測後

沒有留言:

張貼留言