1.作業說明:
撰寫一個程式,讀取作業所附 2 張測試圖片,(1)設計一個二值化方法將其轉變成黑白圖像後,(2)繪出 QR code 黑色模組的外框(可利用 Sobel Operators 偵測即可)。
2.使用環境:
Operation system: windows10
Programing language: Python 3.8.2
Library version: Opencv 4.2.0
3.程式流程:
(1) 使用 cv2.imread(...) 將原始圖片以灰階讀入
(2) 使用 cv2.threshold(...) 對圖片做二值化,這裡以85作為閥值
(3) 使用 cv2.Sobel(...) 對圖片的x和y做邊緣偵測,這裡用了 cv2.CV_16S將圖片轉為 int16的形式,原因是使用Sobel函數求完導數後會有負值或大於255的值
(4) 使用 cv2.convertScaleAbs(...) 將圖片轉回 uint8的形式
(5) 使用 cv2.addWeighted(...) 將圖片的x和y合併
(6) 使用 np.hstack(...) 將兩張圖片合併並使用 cv2.imshow(...) 顯示合併後的圖片
4.執行範例:
二值化:
二值化:
沒有留言:
張貼留言