我可以通过更改内核/掩码值来设计我自己的滤镜,以消除MATLAB中图像中的噪声。我是MATLAB的新手,我真的需要帮助。
答案 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帮助部分提供了很多相同的链接。