s1081629 作業2

 

一、作業主題:線條自畫像 

(二值化與邊緣偵測 Image Thresholding and Edge Detection)

撰寫一個程式,以灰階模式讀取一張圖像 imread(path, IMREAD_GRAYSCALE) 

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

(b)設計一個類似素描線條的自畫像圖案。(想想:如何使用邊緣偵測所得到的點,結合 成看似素描筆畫出的線條?) 



二、開發環境:

OS: Windows 10 

Visual Studio Code

Python 3.11.2 

opencv-4.7.0.72

numpy 1.24.2


三、實作辦法:

step1. 透過 imread(path, IMREAD_GRAYSCALE) 讀取灰階圖片。




step2. 透過 Sobel Operators 計算x,y軸的梯度,並將兩者的平方相加開根號,得到邊緣成分圖,

            其中ksize經過測試後,設定為3能得到相對清楚的邊緣。

    


step3. 將八位元最大值255減掉剛剛 step2. 獲得的邊緣成分圖,會得到與原先黑白相反的圖片。
            

step4.  將 step3. 獲得的圖片,使用threshold函式,使用OTSU將圖片二值化,使原先不明顯的                 輪廓凸顯出來。
              






三、實作結果:
Step1. 讀取灰階圖片

Step2. 邊緣成分圖
    

Step3. 黑白相反的邊緣成分圖


Step4. 將圖片二值化







留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1