meatball1982 发表于 2016-7-7 11:33:53

matlab 3D数据,找峰值。儿子的papa,豆粑粑

2D数据,可以用findpeaks函数。
3D数据当中上,一个点,比它周围的8个点都大,它就是一个峰值。具体数据,这个判断条件可能不一样。具体分析,
例子是peaks函数,相对简单一些。
clear all
clc
clf


n=100;
=peaks(n);

cen=[];
for row= 2: n-1;
    for col = 2: n-1;
      p_cen=z(row,col);
      p_nea=z(row-1:row+1,col-1:col+1);
      val_big=p_cen-p_nea;
      n_big=sum(val_big(:)>0);
      if n_big>7;
            cen=;
      end
    end
end


h=surf(x,y,z,'edgecolor','none');
alpha(h,0.7);
hold on
plot3(cen(:,1),cen(:,2),cen(:,3),'ro','markersize',10,'markerfacecolor','r');
view(0,90)




页: [1]
查看完整版本: matlab 3D数据,找峰值。儿子的papa,豆粑粑