爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 16372|回复: 10

[求助] IDL生成的遥感图像利用matlab读取其中的数据【讨论】

[复制链接]

新浪微博达人勋

发表于 2013-3-8 11:00:43 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
初学matlab,求围观,求交流
前几日,得到一些由IDL软件生成的tif格式的遥感图像(在windows下没有预览)如:http://bbs.06climate.com/forum.php?mod=attachment&aid=MTI0MDB8YjEyNGE3ZTU0OTQ3MzAxNjU2YTAzOGZlYmI2YjU5ZjR8MTczMjMxNjk1MA%3D%3D&request=yes&_f=.tif;
参考一片文献http://bbs.06climate.com/forum.php?mod=attachment&aid=MTI0MDF8N2FhMDg4ZWE4ZGFjOTVhNDFmOWVkNDNlZjNjZDRiNGJ8MTczMjMxNjk1MA%3D%3D&request=yes&_f=.pdf上得作法,自己写了一下代码;

最初开始想的简单以为这样做::
%第一步:
[data,map]=imread('SoilMoisture2012001.tif');
%第二步:
[x,y]=size(data);
%范围
%image(data)
%colormap(data)
fi=fopen('E:\data\modis\SoilMoisture\SoilMoisture\2012\SoilMoisture2012001.dat','w');
for i=1:x
    for j=1:y
        fprintf(fi,'%6f',data(i,j));
    end
end

惭愧的是,得到的dat文件fortran不支持,不支持就真心没办法了,想看看里面的内容也就不能了。也曾尝试过转成ascii格式的,但是图像文件不能直接保存为ascii格式


后来细细研读文章发现,原文中的处理遥感图像中提取数据主要是依赖于色标中不同像素对应的数值。而我得到的文件没有色标,由于图像不能直接看,所以只能在matlab中imshow('SoilMoisture2012001.tif'),得到图像如下:

imshow

imshow

没有色标,利用matlab查看图片的info,info = imfinfo('SoilMoisture2012001.tif'),得到信息如下:
>> info = imfinfo('SoilMoisture2012001.tif')
info =
                     Filename: 'D:\MATLAB\data\Modis\SoilMoisture2012001.tif'
                  FileModDate: '02-十一月-2012 14:36:18'
                     FileSize: 501132
                       Format: 'tif'
                FormatVersion: []
                        Width: 411
                       Height: 304
                     BitDepth: 32
                    ColorType: 'grayscale'
              FormatSignature: [73 73 42 0]
                    ByteOrder: 'little-endian'
               NewSubFileType: 0
                BitsPerSample: 32
                  Compression: 'Uncompressed'
    PhotometricInterpretation: 'BlackIsZero'
                 StripOffsets: [76x1 double]
              SamplesPerPixel: 1
                 RowsPerStrip: 4
              StripByteCounts: [76x1 double]
                  XResolution: 100
                  YResolution: 100
               ResolutionUnit: 'Inch'
                     Colormap: []
          PlanarConfiguration: 'Chunky'
                    TileWidth: []
                   TileLength: []
                  TileOffsets: []
               TileByteCounts: []
                  Orientation: 1
                    FillOrder: 1
             GrayResponseUnit: 0.0100
               MaxSampleValue: 4.2950e+009
               MinSampleValue: 0
                 Thresholding: 1
                       Offset: 499784
                 DocumentName: [1x54 char]
             ImageDescription: 'IDL TIFF file'
                     Software: 'IDL 6.1, Research Systems, Inc.'
                     DateTime: '2012:11:02 14:36:17'
                 SampleFormat: 'IEEE floating point'
           ModelPixelScaleTag: [3x1 double]
             ModelTiepointTag: [6x1 double]
           GeoKeyDirectoryTag: [76x1 double]
           GeoDoubleParamsTag: [8x1 double]
            GeoAsciiParamsTag: 'WGS-84|'

上面的信息也看不太懂,其中最主要的几个是:ColorType: 'grayscale'中像素和色标的对应关系;GeoAsciiParamsTag: 'WGS-84|'这个经纬度怎么得到,(原来图片中没有经纬度信息,据说是要利用这个的???)


最后:遥感图像资料处理的都有哪些方法?有了解的可以多多交流,私信可以QQ


密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-3-8 11:06:10 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-3-8 11:51:27 | 显示全部楼层
matlab 有个现成的函数可以读idl结果的吧
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-3-8 11:54:37 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-3-8 13:52:57 | 显示全部楼层
X = multibandread(filename, size, precision, offset, interleave, byteorder)
参数到hdr里面找就行了,具体看matlab帮助。
我用过,可以读。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-3-8 15:06:57 | 显示全部楼层
尉鹏 发表于 2013-3-8 13:52
X = multibandread(filename, size, precision, offset, interleave, byteorder)
参数到hdr里面找就行了, ...

好的,多谢了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-3-9 10:04:52 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-3-13 18:39:43 | 显示全部楼层
好想学习啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-6-19 04:35:44 | 显示全部楼层
尉鹏 发表于 2013-3-8 11:51
matlab 有个现成的函数可以读idl结果的吧

你指的是什么函数呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-6-21 15:54:47 | 显示全部楼层
看帖子,不是都说了么
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表