
看是什么数据格式,有的可以直接load
比如这样的数据文件:
38643 52888 008600065
38643 52844 008600065
38643 52486 01420001
38639 52881 008600065
38638 53194 01860005
38634 53303 01070006
38631 52186 007900037
38631 52167 007900037
38626 53586 009600026
38624 52495 06620004
A = load('cloud3ddat'); %读入数据
%x,y,z轴坐标
x=A(:,1);
y=A(:,2);
z=A(:,3);
scatter3(x,y,z); %散点图
[X,Y,Z]=griddata(x,y,z,linspace(min(x),max(x))',linspace(min(y),max(y)),'v4'); %构造坐标点
pcolor(X,Y,Z);
shading interp; %伪彩色图
fcontourf(X,Y,Z); %等高线图
figure,surf(X,Y,Z); %三维曲面
题主贴出来的代码没有问题,不会出现你所说的错误。
请仔细检查代码是否与贴出来的一致。
程序运行得到的point1和point2相同:
>> point1point1 =
119 1
119 189
>> isequal(point1,point2)
ans =
1
是这样的,如果你再程序开始添加holdon这个的画,表示这之后的每一次作图都保留以前的图,这样就可以连续画图了
反之holdoff,表示打开这个之后,每次画图,删除以前的图,
Close all; clear all; clc;
dir='D:\重要文件\A中期-图像处理\4047\7二值图像\';
point1 = [];
for i=1:3
fn=strcat(dir,int2str(i));
f=imread(strcat(fn,'bmp'));
J1=imfill(f,'holes');%填充
J2=bwperim(J1);%轮廓提取
rect=[0 0 191 119];
J3=imcrop(J2,rect);
[x,y]=find(J3==1)
xsort = sort(x,'descend');
ind1=find(x==xsort(1));
point1=[point1;x(ind1),y(ind1)]; %建议先看看3幅图像各自的边缘点是否都识别出来了,确认后可以把point1整体保存到xls中
%xlswrite('D:\重要文件\A中期-图像处理\4047\4047焦点坐标xls',point1,'she%et1',['A',num2str(i)])
end
解决方案1:
直接用缉鼎光刮叱钙癸水含惊ifft();例如信号x
y=fft(x);%对信号傅里叶变换到频域
z=ifft(y);%对信号y傅里叶反变换到时域,
解决方案2:
工具箱啊。IFFT()函数
以上就是关于MATLAB中怎么根据点云数据,识别轮廓全部的内容,包括:MATLAB中怎么根据点云数据,识别轮廓、我用MATLAB处理轮廓线与图片下边缘的两个交点的坐标、matlab程序画图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)