Matlab读写ENVI.img.hdr文件2.doc

Matlab读取ENVI标准格式文件

/wuenping/archive/2008/12/13/1575943.html

每个*.img文件对应一个*.hdr的头文件,程序首先从头文件里得到影像的行列和波段数,然后按照二进制方式读取,并按照行列波段数重排为多维矩阵。

function [image,p,t]=freadenvi(fname);

% freadenvi - read envi image (V. Guissard, Apr 29 2004)

% INPUT :

% fname string giving the full pathname of the ENVI image to read.

% OUTPUT :

% image : c by l by b array containing the ENVI image values organised in

%c : cols, l : lines and b : bands.

%p :1 by 3 vector that contains (1) the nb of cols, (2) the number of lines and

% (3) the number of bands of the opened image.

% t:string describing the image data type string in MATLAB conventions.

%freadenvi needs the corresponding image header file generated automatically by ENVI.

%The ENVI header file must have the same name as the ENVI image file + the '.hdf' exention.

% Parameters initialization

elements={'samples' 'lines' 'bands' 'data type'};

d={'bit8' 'int16' 'int32' 'float32' 'float64' 'uint16' 'uint32' 'int64' 'uint64'};

% Check user input

if ~ischar(fname)

error('fname should be a char string');

end

% Open ENVI header file to retreive s, l, b & d variables

rfid = fopen(strcat(fname,'.hdr'),'r');

% Check if the header file is correctly open

if rfid == -1

error('Input header file does not exist');

end;

% Read ENVI image header file

% and get p(1) : nb samples,p(2) : nb lines, p(3) : nb bands and t : data type

while 1

tline = fgetl(rfid);

if ~ischar(tline), break, end

[first,second]=strtok(tline,'=');

switch first

case elements(1)

[f,s]=strtok(second);

p(1)=str2num(s);

case elements(2)

[f,s]=strtok(second);

p(2)=str2num(s);

case elements(3)

[f,s]=strtok(second);

p(3)=str2num(s);

case elements(4)

[f,s]=strtok(second);

t=str2num(s);

switch t

case 1

t=d(1);

case 2

t=d(2);

case 3

matlab如何打开hdr文件,Matlab读写ENVI.img.hdr文件2.doc相关推荐

  1. python如何进入文件夹_python之文件的读写和文件目录以及文件夹的操作实现代码...

    这篇文章主要介绍了python之文件的读写和文件目录以及文件夹的操作实现代码,需要的朋友可以参考下 为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成操作之后可以迅速关闭文件,防止一些无用 ...

  2. matlab如何打开xlsx表格,matlab 读取word的表格

    matlab如何从excel表格中读取数据? 展开全部 第一种方法,使用xlsread函数来读取excel中的数据第二种方法,就是把字符转化为数字,使用函数str2num MATLAB读取Excel表 ...

  3. matlab如何打开历史纪录,Matlab创建有价值历史纪录(完整版)

    [转载] Matlab创建有价值历史纪录(完整版) % Matlab创建有价值历史纪录(完整版) % "%"为注释符 % MATLAB % MATLAB是一种科学计算语言.它集成了 ...

  4. 多文件同时读写为什么没有单文件读写快?

    如果是读或写同时操作一块物理磁盘,会导致磁头寻道冲突. 想像磁盘是一块黑胶唱片,每次读写在一个确定的位置都需要: 移动磁头到相应圆环,即改变磁头到圆心的内径 转动唱片,让磁头停留在需要的位置 这个被称 ...

  5. python关闭读写的所有的文件-Python文件操作:文件的打开关闭读取写入

    Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...

  6. 文件的打开、关闭、读写

    文章目录 一.简单介绍 1. 文件是什么? 2. 文件的操作流程 3. 如何操作文件 二.对文件的操作 1. 文件的打开与关闭 1.1打开文件 1.2 关闭文件 2. 文件的读写 2.1 文件的顺序读 ...

  7. python对文件的读写正确操作方式

    1.with open函数打开文件的各种方式 模式 意义 r 只读模式打开文件,读文件内容的指针会放在文件的开头. 操作的文件必须存在. rb 以二进制格式.采用只读模式打开文件,读文件内容的指针位于 ...

  8. python中文件读写位置的作用-Python中文件的读写

    1.Python中的open()函数 Python中提供了open()内置函数,在默认情况下可以对文件对象进行操作. open()函数将文件名作为唯一必不可少的参数,并返回一个文件对象.如果只指定一个 ...

  9. python对文件的读操作有哪些方法-Python之文件操作:文件的读写

    一.open函数:对文件读写之前,需要先打开文件,获取文件句柄 注意:open() file() 尽量使用open(),Python3以后不支持file()了 1.open(file_name[,ac ...

最新文章

  1. Mac下sublime text2 解决中文乱码
  2. 分布式动态配置后浪推前浪 -- Nacos
  3. 跨境电商三单对碰三单申报流程详解
  4. Windows Sockets2 详解2——堵塞与非堵塞模式
  5. Sql PATINDEX 函数
  6. Android零基础入门第40节:自定义ArrayAdapter
  7. java文件损坏_java – 损坏的文件处理
  8. 如何实现用户自己定义控件。
  9. .NET-MVC站点部署到windows server2008r2服务器404错误
  10. mysql 启动必须加-h_Windows 安装 nginx,MySQL 等软件并加入系统服务启动详细
  11. 说明assert()的作用:assert()是一个调试程序时经常使用的宏,在程序执行时计算括号内的表达式,如果表达式为假,程序报告错误,并终止执行;若表达式为真,则继续执行后面的语句。
  12. 五大好用的开源MySQL管理工具
  13. 新经济概念大热,低市盈率高增长的新经济概念龙头股奉上20180305
  14. hdwiki上传附件不显示bug解决办法
  15. java 生成pdf
  16. 微信小程序与公众号区别PHP,微信小程序和微信公众号的区别是什么?
  17. 那些有趣又实用的开源人工智能项目 Top 10
  18. 博士研究生入学第一年就完成了毕业所需的发表论文要求是怎样的体验?
  19. applicationContext.xml读取properties中属性
  20. halcon功能及应用简介

热门文章

  1. C#将纵向内容打印到横向纸张上(打印旋转)
  2. 台大李宏毅--keras
  3. python语言的单行注释以井号开头_初识Python
  4. 电商秒杀系统设计思路和实现方法
  5. GPS 校验和 代码_每天学习一点点~每天学习一点点~安全阀安全技术监察规程 安全阀校验与修理...
  6. 我的.NET书架 (进阶篇)
  7. 【Linux基础】zsh 和 Oh My Zsh
  8. 数据结构(2021-5-13)
  9. 不用加减号实现加减法(java实现)
  10. 深圳城市治理权限再放开,平安能做什么