顯示具有 1071523 標籤的文章。 顯示所有文章
顯示具有 1071523 標籤的文章。 顯示所有文章

2021年6月10日 星期四

s1071523 影像處理作業7

 作業說明:

請撰寫一個程式,利用數學型態學影像處理運算(erode(), dilate()等函式),計算出所附圖像(共三張)每張圖像中圍棋個數。

開發環境:

  • Windows 10
  • Visual Studio Code
  • Python 3.8.5
  • OpenCV 4.4.0

實作:

  1. 圖片以灰階讀入
  2. 灰階圖做二值化
  3. cv2.erode()cv2.dilate()對影像做侵蝕、膨脹
  4. cv2.findContours()獲取輪廓
  5. 計算輪廓數量

執行結果:


IMG_5702:


IMG_5703:



IMG_5704:

2021年6月7日 星期一

s1071523 影像處理作業8

 

作業說明:

請寫一個程式將附圖二值化後輸出黑白圖像。目的是將文字與背景分離

開發環境:

  • Windows 10
  • Visual Studio Code
  • Python 3.8.5
  • OpenCV 4.4.0

執行結果:

結果圖




2021年5月2日 星期日

s1071523影像處理作業三

 作業說明:

請撰寫一個程式,讀取一張 256 色灰階圖像。

(1)計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出。

 (2)對圖像利用 Gaussian Low-Pass filter 處理,輸出平滑後圖像。

開發環境:

  • Windows 10
  • Visual Studio Code
  • Python 3.8.5
  • OpenCV 4.4.0

實作:

一、 

1.        np.fft.fft2()提供頻率變換,是複陣列。

2.        計算得到結果在左上角,可以使用函式np.fft.fftshift()將其移到中心

3.        np.log(np.abs(fshift))先取絕對值:表示取模,再取對數:將資料範圍變小

4.        np.angle()計算頻譜相位角度

5.        cv2.GaussianBlur(img,(5,5),0)做高斯模糊處理

執行結果:





 

2021年3月27日 星期六

s1071523 影像處理作業2

 作業說明:

撰寫一個程式,讀取一張 256 色灰階圖像或 RGB 全彩圖像(.bmp 或.jpg 圖像格式都可, 如全彩圖像可先將圖片由 RGB 轉換至灰階影像),利用 Sobel Operators 圖像邊緣為基 礎,設計一個類似素描線條自畫像程式

開發環境:

  • Windows 10
  • Visual Studio Code
  • Python 3.8.5
  • OpenCV 4.4.0

實作:

  1. 讀取全彩圖像
  2. 將圖像轉灰階
  3. 使用Sobel()對x、y方向求導,而Sobel()求完的值無法用uint8表示,因此要使用cv2.CV_16S資料型別儲存圖像
  4. 使用convertScaleAbs()將處理後的圖像轉回原來的uint8形式
  5. 使用addWeighted()將兩個方向的圖像組合起來,會得到黑底白線條的圖像
  6. 讓像素<100的點變為0,使圖像更清晰
  7. 每個像素的值做 255-原值 的運算,得到白底黑線條的圖像

執行結果:

原圖:

黑底白線條:

白底黑線條