【问题标题】:Smooth out Image Vector in Matlab在 Matlab 中平滑图像向量
【发布时间】:2014-06-24 19:46:20
【问题描述】:

我有一张图像,我将其转换为矢量并绘制:

img = imread(image.png');
grayImage = rgb2gray(img);
grayImage(2:2:end,:)=fliplr(grayImage(2:2:end,:));

B = rot90(grayImage);
C = flipud(B);

[x,y]=size(C);
vector = reshape(C ,1,x*y);
plot(vector);

问题是,虽然我可以直观地看到波形,但会出现很多噪音。噪声是指信号快速上下波动,最终形成正弦波,但我希望能够将每个尖峰的波峰相互连接,以创建连续的波形。如果有人理解我想要做什么,我们将不胜感激。

提前谢谢你。

【问题讨论】:

    标签: matlab image-processing


    【解决方案1】:

    不是 100% 确定您要问什么,但 medfilt1 中值滤波器函数可能就是您要找的,它是一个一维平滑滤波器。示例用法是:

    vector_filt = medfilt1(vector);
    

    查看http://www.mathworks.com/help/signal/ref/medfilt1.html 的文档和示例。

    【讨论】:

      【解决方案2】:

      我认为对向量执行高斯卷积应该可以解决您的问题。这是一个堆栈溢出问题的链接,它对如何在 matlab 中进行高斯卷积有一个非常好的答案:Gaussian Filter on a vector in Matlab

      【讨论】:

        猜你喜欢
        • 2011-09-11
        • 1970-01-01
        • 1970-01-01
        • 2018-08-23
        • 2023-03-18
        • 2023-03-22
        • 2018-06-15
        • 1970-01-01
        • 2016-12-30
        相关资源
        最近更新 更多