2022年4月15日 星期五

s1081424 作業4

 一、作業說明:


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

    (1)    計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角

            度各以灰階56色圖像方式呈現出。

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


二、開發環境:


    (1)    Windows 10 + Visual Studio2019 + Opencv3.4.6

    (2)    方案組態:Debug

    (3)    方案平台:x64

    (4)    使用到的Library:iostram、opencv/opencv.hpp、math.h、cmath

    (5)    使用的語言:C++


三、實作說明:


    1.    一開始先讀進圖片,若檔名不存在則顯示

      


2.    輸出原圖

        

           

    3.    利用下面的公式先計算Frequency Spectrum,



            



            

            f是空間域值,F是Frequency域值,變換之後的Frequency域值是複數,

           因此顯示傅立葉轉換之後的結果需要利用實數圖像加虛數圖像來顯現,    

           將成果圖片印製出來。

      

        



                          

    4.    利用Gaussian Low-Pass filter處理,高斯濾波是一種線性平滑濾波,適
            用於消除高斯噪聲,廣泛應用於圖像處理的減噪過程。通俗的講,高
            斯濾波就是對整幅圖像進行加權平均的過程,每一個像素點的值,都
            由其本身和鄰域內的其他像素值經過加權平均後得到。
            
            先對每一行進行一維高斯濾波,再對每一列進行一維高斯濾波。

        

            加上trackbar,使使用者可以選擇Sigma值,最後再將成果列印出來。

        




沒有留言:

張貼留言