菜鸟速成记-IDL读取显示dat文件

来源:互联网 发布:初始成女脸型数据 编辑:程序博客网 时间:2024/06/04 19:31

DAT文件的读取

问题描述

之前,博主没有理解dat文件导致对文件获取产生问题和误解,还可笑的认为没办法获取demission的话,是没有办法读取dat文件的。

由于dat文件是遥感影像的常用格式之一。所以,首先认识一番,dat文件。

  1. 先找个文件夹看看它在哪
    Markdown

2.看看它们到底长什么样子

  • hdr 头文件
    Markdown

  • dat 文件
    Markdown

3.思考怎么去读取dat文件

读取dat文件的思路:
- 首先获取到dat文件的头文件信息。

  • 调用函数进行显示READ_BINARY()

Markdown

代码实现过程

由于代码实现过于简单,所以没有写相应的注释,有什么不会的直接留言~

pro read_dathdr_path=DIALOG_PICKFILE(/READ)hdr_path=string(hdr_path)head_info=strarr(6)openr,lun,hdr_path,/get_lunreadf,lun,head_info;print,head_infofree_lun,lun I=5; while (i gt 0) do begin   temp=string(head_info[i])   IF(temp.contains('samples'))THEN BEGIN     xs=temp   ENDIF   IF(temp.contains('bands'))THEN BEGIN     band=temp   ENDIF   IF(temp.contains('lines'))THEN BEGIN     ys=temp   ENDIF   IF i GT 5 THEN BEGIN     BREAK   ENDIF   i-- endwhile  ;print,head_info[j];xs=string(head_info[3])xs=xs.split("=")xs=xs[1];ys=string(head_info[4])ys=ys.split("=")ys=ys[1];band=string(head_info[4])band=band.split("=")band=band[1]img_path=dialog_pickfile(/read)img_path=string(img_path)imageSize=[uint(xs),uint(ys)]mbells = READ_BINARY(img_path, DATA_DIMS = imagesize); TrueColor displayDEVICE, DECOMPOSED = 0LOADCT, 0WINDOW, 0, XSIZE = imageSize[0], YSIZE = imageSize[1], $   TITLE = 'A Binary Image, Scaled'TVSCL, mbellsend

代码实现的效果

Markdown

灰度图实现效果

Markdown

送你们个惊喜

国外优秀网站

在GIS的沙场,传播有价值的东西!