【问题标题】:how do I design my own filter in matlab?如何在matlab中设计自己的过滤器?
【发布时间】:2015-08-05 01:00:21
【问题描述】:

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

【问题讨论】:

    标签: matlab image-processing


    【解决方案1】:

    是的。 filter2 函数采用用户指定的过滤器内核。例如,应用一个垂直 Sobel 过滤器:

    h = [ 1  2  1 
          0  0  0
         -1 -2 -1 ];
    
    im_out = filter2(h, im_in);
    

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

    【讨论】:

    • 嘿,这是开发的内核权利,我如何将它应用到我的图像中?
    • 我收到以下错误请帮助 im_in = imread('Canada_landscape1.jpg');子图(2,2,1),imshow(im_in)h = [ 1 2 1 0 0 0 -1 -2 -1 ]; im_out = filter2(im_in, h); im1= filter2(im_in,im_out,'清醒'); subplot(2,2,2),imshow(im1) ==> 项目中的错误 8 im_out = filter2(im_in, h); ???在 22 A 处使用 ==> rot90 的错误必须是二维矩阵。 ==> filter2 在 41 stencil = rot90(b,2) 处出错; ==> 项目在 8 时出错 im_out = filter2(im_in, h);
    【解决方案2】:

    上面的答案就是您入门所需的全部内容。 然后,如果您想了解更多信息,这些在一开始对我有很大帮助:

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

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

    【讨论】:

      【解决方案3】:

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

      有不同的滤波器用于去除脉冲噪声、高斯噪声等。

      您可以从找出图像中存在的噪点开始,然后逐步解决问题

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-04
        • 1970-01-01
        • 2021-12-12
        • 2019-05-09
        • 2014-04-14
        • 1970-01-01
        • 1970-01-01
        • 2018-08-29
        相关资源
        最近更新 更多