一、作業說明
主題:
線條自畫像 (二值化與邊緣偵測 Image Thresholding and Edge Detection)
撰寫一個程式,以灰階模式讀取一張圖像 imread(path, IMREAD_GRAYSCALE)
(a)利用 Sobel Operators 偵測並輸出邊緣成分圖
(b)設計一個類似素描線條的自畫像圖案。
二、開發環境
OS:Windows 10
Editor:Visual Studio Code
Language:Python 3.9.13
Package:OpenCV - 4.6.0
三、程式碼解釋
- cv.imread() : 讀取圖片
- cv2.cvtColor() :將圖片轉為灰階
- cv2.GaussianBlur():將圖片以高斯模糊處理,以取得更清晰的輪廓
- cv.imshow() : 顯示圖片
(a)
以cv2.Sobel() 分別取得x軸及y軸輪廓後,再以cv2.bitwise_or() 取得邊緣成分圖
(b)
先把 (a) 取得的邊緣成分圖分別做二值化及反色:
二值化:ret,thresh1 = cv2.threshold()
反色 : 255-邊緣成分圖 (或是用cv2.bitwise_not)
再用cv2.addWeighted() 疊加上面兩圖,取得類似素描線條的自畫像圖案
四、結果
留言
張貼留言