s1091533 作業2

作業2說明

題目:

線條自畫像 (二值化與邊緣偵測 Image Thresholding and Edge Detection) 

撰寫一個程式,以灰階模式讀取一張圖像 imread(path, IMREAD_GRAYSCALE) (a)利用 Sobel Operators 偵測並輸出邊緣成分圖 (b)設計一個類似素描線條的自畫像圖案。(想想:如何使用邊緣偵測所得到的點,結合 成看似素描筆畫出的線條?)


開發環境:

Windows 10 + Visual Studio Code + OpenCV 4.7.0 + Python


程式說明:

(a)利用 Sobel Operators 偵測並輸出邊緣成分圖

1. cv2.imread(): 讀取圖片,並轉換成灰階圖片。

2. cv2.GaussianBlur(): 利用高斯模糊函式去除圖片的噪點,找到的輪廓會更加精準。

3. cv2.Sobel(): 利用sobel operator偵測圖片的邊緣(輪廓)。

4. cv2.addWeighted(): 將偵測水平和垂直邊緣的兩張圖結合,就能得到邊緣成分圖。


(b)設計一個類似素描線條的自畫像圖案

1. cv2.treshold(): 將邊緣成分圖轉為二進制圖像。

2. cv2.bitwise_not(): 將邊緣成分圖黑白相反。

3. cv2.addWeighted(): 疊加上述兩張圖,就能得到類似素描線條的自畫像圖案。


Demo:


(a) 邊緣成分圖


(b) 類似素描線條的自畫像圖案






留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1