2021年3月27日 星期六

s1071441 影像處理作業2

一、作業說明
撰寫一個程式,讀取一張 256 色灰階圖像或 RGB 全彩圖像(.bmp 或.jpg 圖像格式都可, 如全彩圖像可先將圖片由 RGB 轉換至灰階影像),利用 Sobel Operators 圖像邊緣為基 礎,設計一個類似素描線條自畫像程式。(如果可以分析邊緣偵測所得到的點,結合成線條方式呈現更佳!)

二、作業環境&語言
Windows 10

Visual Studio Code 1.54.3

OpenCV 4.5.1.48

Python 3.8.3

三、實作方法

  1. imread讀取圖片 
  2. 建一張白畫布畫輪廓用
  3. 用高斯平滑過濾過多細節及雜訊
  4. 用Sobel分別偵測x軸方向跟y軸方向的邊緣 
  5. 轉換為unit8
  6. 將兩軸方向的偵測結果相加
  7. 用bitewise_not使黑白相反
  8. 使用Otsu二值化,不然findContours會找到很多不是輪廓的東西
  9. 用findContours找出輪廓再用drawContours畫出輪廓

四、執行結果 

原圖:


Sobel:

drawContours: 



沒有留言:

張貼留言