如何在matlab中设计自己的过滤器?

时间:2011-12-03 14:34:26

标签: matlab image-processing

我可以通过更改内核/掩码值来设计我自己的滤镜,以消除MATLAB中图像中的噪声。我是MATLAB的新手,我真的需要帮助。

3 个答案:

答案 0 :(得分:8)

是。 filter2函数采用用户指定的过滤器内核。因此,例如,应用垂直索贝尔滤波器:

h = [ 1  2  1 
      0  0  0
     -1 -2 -1 ];

im_out = filter2(h, im_in);

如果您正在询问如何选择滤镜内核的值,那么这是一个很大的话题。但是如果你有图像处理工具箱,那么你可以使用fspecial函数来获得几个预定义的内核。

答案 1 :(得分:1)

以上答案就是您开始使用的全部内容。 然后,如果你想了解更多,这些在一开始就给了我极大的帮助:

对于概念 http://www.imagemagick.org/Usage/fourier/ 代码不在Matlab中,但这是我见过的最好的教程之一

对于Matlab检查 http://blogs.mathworks.com/steve/category/image-deblurring/http://blogs.mathworks.com/steve/category/fourier-transforms/

答案 2 :(得分:0)

您可以查看所有现有过滤器并提出更改。在这种情况下,彻底的分析将是有益的。

有不同的滤波器可以消除脉冲噪声,高斯噪声等。

您可以从查找图像中存在的噪声开始,逐步解决问题

MATLAB帮助部分提供了很多相同的链接。