当前位置:文档之家› matlab三维二维离散曲面画图教程

matlab三维二维离散曲面画图教程

傅里叶变换img=imread('RADU}4W~M9]09V7Q)ZQ5%~7.png');%img=double(img);f=fft2(img); %傅里叶变换f=fftshift(f); %使图像对称r=real(f); %图像频域实部i=imag(f); %图像频域虚部margin=log(abs(f)); %图像幅度谱,加log便于显示phase=log(angle(f)*180/pi); %图像相位谱l=log(f);subplot(2,2,1),imshow(img),title('源图像');subplot(2,2,2),imshow(l,[]),title('图像频谱');subplot(2,2,3),imshow(margin,[]),title('图像幅度谱');subplot(2,2,4),imshow(phase,[]),title('图像相位谱');/s/blog_1667198560102wmzu.html傅里叶变换I = imread('RADU}4W~M9]09V7Q)ZQ5%~7.png'); %读入数字图像I = rgb2gray(I);%将图像进行灰度处理J = fft2(I);%将图像实行傅里叶变换figure,imshow(I);%这里能得到频谱图J = fftshift(J);figure,imshow(log(abs(J)),[]); %将频谱平移J(abs(J)<5)=0;%不必要的过滤掉figure,imshow(log(abs(J)+eps),[]);J = ifftshift(J);K = ifft2(J);figure,imshow(K,[0 255]);%傅里叶逆变换自己所写的代码I = imread('RADU}4W~M9]09V7Q)ZQ5%~7.png'); %读入数字图像J = fft2(I); %将图像实行傅里叶变换figure,imshow(I); %这里能得到频谱图J = fftshift(J);figure,imshow(log(abs(J)),[]); %将频谱平移J(abs(J)<5)=0; %不必要的过滤掉figure,imshow(log(abs(J)+eps),[]);J = ifftshift(J);K = ifft2(J);ss=real(ifft2(J));sss=uint8(ss);subplot(1,2,2);imshow(sss)figure,imshow(K,[0 255]); %傅里叶逆变换A=imread('12.png'); %载入图片A=rgb2gray(A)B=fftshift(fft2(A)); % 进行傅立叶变换subplot(231)imshow(A);title('原始图像');subplot(232)imshow(abs(B),[ ]);title('原始频谱图');subplot(233)imshow(log(abs(B)),[ ]);title('取对数后的频谱图');subplot(234)imshow(angle(B),[ ]);title('相位图');subplot(235)imshow(real(B),[ ]);title('实部图');subplot(236)imshow(imag(B),[ ]);title('虚部图');colormap(jet(64)) %给图片上色图像处理程序处理将vtx变成txt然后加载load '12吧.txt';提取出高程行均值①a=load('z.txt');mean(a)②a=load('z.txt');lzz=length(a);ra=sum(abs(a))/lzz标准差>> a=load('z.txt');sd=std(a)断面深度均方根:a=load('z.txt');lzz=length(a);rq=sqrt(sum(a.^2)/lzz)断面平均斜率b=load('z.txt');a=b';dz=abs(a(2:end)-a(1:end-1));d=load('x.txt');c=d';dy=abs(c(2:end)-c(1:end-1));sl ope_x=dz./dy;极差a=load('z.txt');rangA=max(a)-min(a);偏度a=load('z.txt');pian_du=skewness(a); % 偏度:>0 称为右偏态,<0,称为左偏态驼峰度a=load('z.txt');feng_du=kurtosis(a); % 峰度:用作衡量偏离正态分布的尺度之一平均构造深度(MTD)圆形平常铺沙法(代码实现)a=load('z.txt');zmin=min(a);zmax=max(a);lz=length(a);zzeng=a-zmin;v=sum(zzeng);x=load('x.txt'); y=load('y.txt');d=abs((max(x)-min(x))+ (max(y)-min(y)))/2;mtd=(4*v)/((d^2)*pi)[暂行实现]第一步求面积e=load('x.txt');r=e(30366:30836,1);f=r';q=abs(f(2:end)-f(1:end-1));pingjunx=mean(q);w=load('y.tx t');t=w(30366:30836,1);f=t';p=abs(f(2:end)-f(1:end-1));pingjuny=mean(p);mianji=pingjunx*pingju ny;yy=sqrt((pingjunx)^2+(pingjuny)^2)第二部求mtda=load('z.txt');zmin=min(a);zmax=max(a);lz=length(a);Zzeng=zmax-(a-zmin);zzeng=Zzeng-zmax*0. 07;v=sum(zzeng)*0.002025;x=load('x.txt');y=load('y.txt');d=abs((max(x)-min(x))+(max(y)-min(y)))/2;mtd=(4*v)/((d^2)*pi);其中0.00025是第一步骤中的mianji或者a=load('z.txt');zmin=min(a);zmax=max(a);lz=length(a);zzeng=zmax-(a-zmin);v=sum(zzeng)*0.0007 3875;x=load('x.txt');y=load('y.txt');d=abs((max(x)-min(x))+(max(y)-min(y)))/2;mtd=(4*v)/((d^2)*pi);>> v=100-80.5;d=(20+19.8+20)/3;h=40*v/(pi*d^2)第三部v=100-80.5;d=(20+19.8+20)/3;h=40*v/(pi*d^2)平均断面深度(MPD)A=load('xy.txt');x=A(28369:28854,1);y=A(28369:28854,2);plot(x,y);其中x程序表示选取矩阵A中第1列28369:28854行;y=A(28369:28854,2)表示选取A中第2列28369至28854行。

A=load('yz提取坐标.txt');b=A(63601:63797,2);meanz=mean(b);c=A(63601:63699,2);maxz1=mean(c);d=A(63699:63 797,2);maxz2=mean(d);ppd=((maxz1+maxz2)/2)-meanz;format rational;ppd点云图像删除一列a=load('车辙板跟新.vtx');b=a(:,3)=[]%删除一列Matlab读取特定列(vtx)filename = '12吧.txt';[data1,data2,data3]=textread(filename,'%n%n%n','delimiter', ',');Matlab读取特定行(vtx)跳过某些行d=textread('nmos_vgs.dat', '' , 'headerlines', 3) %意味着读取数据的时候跳过前3行。

将数据读出来并显示大小值、个数、长度;filename = '12吧.txt';[data1,data2,data3]=textread(filename,'%n%n%n','delimiter',',');lx=length(data1);ly=length(data2);lz=length(data3);minx=min(data1);maxx=max(data1);miny= min(data2);maxy=max(data2);minz=min(data3);maxz=max(data3);求zx的斜率a=[1 2 3 4 5 6];b=a(2:end)-a(1:end-1);c=[2 3 4 5 6 7];d=abs(c(2:end)-c(1:end-1));slope_x=b/d;加载a=load('z.txt');b=a(2:end)-a(1:end-1);c=load('x.txt');d=abs(c(2:end)-c(1:end-1));slope_x=b/d; 编程a=[1 2 3 4 5 6];la=length(a);for i=1:la-1;slope_x(1,i)=a(1,i+1)-a(1,i);end;编程z=load('z.txt');lz=length(z);a=abs(load('x.txt'));la=length(a);for i=1:la-1;slope_x(i,1)=abs((z(i+1,1)-z(i,1)/(a(i+1,1)-a(i,1))));end;可实现b=load('z.txt');a=b';b=a(2:end)-a(1:end-1);d=load('x.txt');c=d';qq=abs(c(2:end)-c(1:end-1));slope_ x=b./qq;某一组数据中得到大于某个数的代码a=[1 2 3 4 5 6];b=a(a>3)某组数据统计值x=load('yz.txt');hist(x,1000);%表示多少个直方图画三维点云图像A=load('圆形.vtx');%x,y,z轴坐标x=A(:,1);y=A(:,2);z=A(:,3);scatter3(x,y,z)%散点图figure[X,Y,Z]=griddata(x,y,z,linspace(min(x),max(x))',linspace(min(y),max(y)),'v4');%插值pcolor(X,Y,Z);shading interp%伪彩色图figure,contourf(X,Y,Z) %等高线图figure,surf(X,Y,Z);%三维曲面划出彩色图A=load('圆形.vtx');m=max(A);n=min(A);x=A(:,1);y=A(:,2);z=A(:,3);[X,Y,Z]=griddata(x,y,z,linspace(n(1),m(1))',linspace(n(2),m(2)), 'cubic');%cubic插值方式可换,具体请参考MATLAB帮助文档对函数griddata的解释figure;pcolor(X,Y,Z);grid on;figure;contourf(X,Y,Z);grid on;figure;mesh(X,Y,Z);grid on;figure;surf(X,Y,Z);grid on;%图形修饰高斯曲率和平均曲率曲面上任意一点都有无数个曲率,其中存在最大和最小值(曲面的两个主曲率之积K=k1k2叫曲面的高斯曲率,两个主曲率的平均值)。

相关主题