Fourier变换的应用——图像去噪

2024-10-23 09:28:30

1、把图片转化为图片数据:data = ImageData[img];

Fourier变换的应用——图像去噪

3、如果对变换后的数据,取绝对值(复数取模长),再合成图片,效果如下。Image[#] & /@ Abs@d0 // ColorCombine

Fourier变换的应用——图像去噪

5、制造一个过滤器,把步骤三里面那些暗色的区域对应的数据变为0;其实,这些区域代表着噪音对应的数据。p = 0.4;filter = Table[ If[Abs[(r - (h/2))/h] > p && Abs[(c - (w/2))/w] > p, 1, 0], {r, 1, h}, {c, 1, w}];过滤器又叫掩膜。下图是p=0.4的时候的掩膜。

Fourier变换的应用——图像去噪

7、经过Fourier变换、去噪,在对数据进行逆Fourier变换,就可以合成去噪后的图片。ColorCombine[Image[Abs@ InverseFourier[ Fourier[ImageData[img][[All, All, #]]]*filter]] & /@ {1, 2, 3}]下图使用的是p=0.4的过滤器去噪,得到的图片。噪音没了,但是图像很模糊。

Fourier变换的应用——图像去噪Fourier变换的应用——图像去噪

10、当p=0.01的时候,掩膜和最终效果如下。

Fourier变换的应用——图像去噪Fourier变换的应用——图像去噪
猜你喜欢