MATLAB中局部最大值点的中值滤波器

时间:2017-10-11 09:40:16

标签: matlab image-processing filter signal-processing median

我是否可以仅在局部最大值的点处应用中值滤波器。

在我的简单示例中,局部最大值为5,7,8,4。

我可以在这些点应用中值滤波器吗?我还提供了sin信号的代码,以更好地理解中值滤波器的效果。

我可以在局部最大值处应用中值滤波器。

提前致谢。

代码:

  A = [1 0 1 4.3 4.5 5 4.3 4.2 0 0 0 2 6.2 6.3 7 6.2 7.4 8  7.2 1 2 3 4 2];
  X= A;

  % For sin signal
  t= 0:0.01:10;
  A = sin(2*pi*t);
  X=A;
  t = 1:numel(X) ;

  [p l] = findpeaks(X);

  %  [pn ln] = findpeaks(-X);
  % yMedFilt = medfilt1(X,5,'truncate');

  y = medfilt1(X,2,'truncate');
  hold on 
  plot(p,'r','linewidth',3)
  plot(A,'b')
  hold off

我想要的是每个峰值都有一条直线。请看附图。在图片中,我希望输出像第3个图表,每个峰值都有直线。

enter image description here

0 个答案:

没有答案