| 
 
	积分201贡献 精华在线时间 小时注册时间2012-4-12最后登录1970-1-1 
 | 
 
| 
Matlab处理数组非常好,画图也很直观,单参数等值线、线图和点图等画图功能也不错。
x
登录后查看更多精彩内容~您需要 登录 才可以下载或查看,没有帐号?立即注册 
  当遇到RGB三参数画图时,还没找到好方法。
 现有5个数组分别为经度、纬度、可见光(R)、近红外(G)、远红外(B),它们是一一对应的,如何将R、G、B三通道数组按一一对应的经纬度画出图来?
 测试用image函数:
 代码如下:
 clear;
 aa=load('I:\xmu1\Terra_20130612_0259_visible_reflectance_test.txt');
 R1=zeros(512,512);%可见光
 G1=zeros(512,512);%近红外
 B1=zeros(512,512);%远红外
 lon2=zeros(512,512);%经度
 lat2=zeros(512,512);%纬度
 k=1;
 for i=1:1:512
 for j=1:1:512
 lon1(k)=aa(k,1);
 lat1(k)=aa(k,2);
 lon2(i,j)=aa(k,1);
 lat2(i,j)=aa(k,2);
 if(aa(k,3)>=1.0)
 aa(k,3)=1.0 ;
 end
 R1(i,j)=aa(k,3);
 if(aa(k,4)>=0.25)
 aa(k,4)=0.25;
 end
 G1(i,j)=aa(k,4)*4;
 if(aa(k,5)<=248)
 B1(i,j)=0;
 elseif(aa(k,5)>=298)
 B1(i,j)=1;
 else
 B1(i,j)=(aa(k,5)-248)/50;
 end
 k=k+1;
 end
 end
 %[x,y]=meshgrid(lon1,lat1);
 x=min(lon1):0.01:max(lon1);
 y=max(lat1):-0.01:min(lat1);
 c=zeros(512,512,3);
 c(:,:,1)=R1(:,:);
 c(:,:,2)=G1(:,:);
 c(:,:,3)=B1(:,:);
 figure(1)
 image(x,y,c);
 画出来的图见附件1,不能与经纬度一一对应,纬度还是从低到高标注的(次序颠倒了),比例也不协调
 figure(1)
 imshowe(x,y,c);
 画出来的图见附件2,比例还可以,但也是不能与经纬度一一对应,坐标也不见了
 
 哪位大侠画过这种图啊?怎么画的?有啥高招?IDL和matlab都可以的。
 
 
 
 
 | 
 
  
  |