顯示具有 #s1061420 標籤的文章。 顯示所有文章
顯示具有 #s1061420 標籤的文章。 顯示所有文章

2021年5月2日 星期日

s1061420 影像處理作業 3

作業說明:

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

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

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

開發環境:

l   Windows 10

l   Visual Studio 2019

l   Python 3.8

l   OpenCV 4.5.1

程式說明:

1. 輸入圖片並轉為灰階圖片

2. 使用 numpy.fft.fft2 進行傅立葉轉換

3. 使用 numpy.fft.fftshift 將圖片最左上角當作圖片中心

4. 使用 numpy.abs 將值轉為正數、將值轉為 0 ~ 255 之間、輸出為光譜

5. 使用 numpy.angle 轉為相位圖

6. 使用 GaussianBlur 函式將原圖進行平滑處理

輸出結果:








原圖









經傅立葉轉換後的光譜


















相位圖




















平滑後的圖像


2021年3月26日 星期五

s1061420 影像處理作業 2


作業說明:

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


開發環境:

l   Windows 10

l   Visual Studio 2019

l   Python 3.8

l   OpenCV 4.5.1


程式說明:

1.      讀取圖片並轉換成灰階圖片

2.      使用Sobel Operator 分別得到 x 方向及 y 方向的圖

3.      使用 convertScaleAbs 轉換為 uint8 格式

4.      使用 addWeighted 分別以0.5的權重合併x、y方向的圖

5.      將圖片反白

6.      將每個pixel 的值透過 f(x) = x * 41 / 51 + 50 轉換,深黑色的部分會變得更淺,使得整體的線條看起來更有鉛筆的感覺


輸出結果:


原圖

 X方向 Sobel operator轉換


Y方向 Sobel operator轉換







X、Y方向圖片合併








                    反白






        透過函式轉換



修飾使其更像素描







圖片來源:

https://forum.gamer.com.tw/C.php?bsn=7650&snA=1013445