ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:591.08KB ,
资源ID:19133201      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19133201.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(编程实现BIPBSQBIL三种格式转换详解Word下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

编程实现BIPBSQBIL三种格式转换详解Word下载.docx

1、 (3).编写字节数据重排列存储代码:在读取了图像数据文件后,可以通过类按照目标类型格式文件组织顺序,把字节数据写入到文件中保存即可,具体代码见后文。3. 编译与调试:通过用预先知道内部字节数据的实验文件,进行测试,辅助断点调试,可排除一般问题,接着编译生成目标程序;4. 运行程序查看结果:通过对多种格式、多种基本数据类型、多种像素大小的文件进行多种方式转换,再利用ENVI打开两个图像查看是否一样,再辅以“Link”功能看同一像素点值是否相同,这样可以深层确定转换的正确性。五、 结果与分析1. 结果程序运行界面转换后结果2. 分析总结 (1).读取头文件时,不能通过各字段的现有位,按位读取,应

2、该按行读取,再利用字符串匹配方式,找到指定字段,这样避免字段位变化时读取出错误信息;(2).再读取数据文件和写入存储时,应该要以基本数据类型长度个字节为单位进行,不能单纯的以一个字节操作,不然会不具有普遍性,遇到以“int、float”为基本类型的文件时,就会出错;(3).要想节省代码,可先将各种格式数据读取存储为一种格式字节数组中,再从这个格式往其他格式进行转换,这样可以节省不少工作量,但是引入了中间数组,耗费了内存。六、 源代码附录1.读取头文件信息 / /读取头文件信息/summaryparamname=str/param头文件路径和名称iColumnsCount像素列数iLinesCo

3、unt像素行数iBandsCount波段数iType基本数据类型代码strInterLeave文件组织格式returns/returns返回是否读取成功 publicstaticboolReadHDR(Stringstr,outintiColumnsCount,outiLinesCount,outiBandsCount,outiType,outStringstrInterLeave)blnSuccess=false;iColumnsCount-1;iLinesCountiBandsCountiTypestrInterLeave;/初始化各个变量StreamReaderhdr;tryhdrfil

4、enewStreamReader(str);stringcontent=while(hdrtrue)/获取像素列数contenthdr();if(content.Contains(samples)samplescontent.Substring(content.IndexOf(=)+1,content.Length-content.IndexOf(-1).Trim();Convert.ToInt32(samples);System.Console.WriteLine(samples);break;while(hdr!true)/获取像素行数if(content.Contains(linesli

5、nes1).Trim();Convert.ToInt32(lines);System.Console.WriteLine(lines);/获取波段个数bands StringbandsConvert.ToInt32(bands);System.Console.WriteLine(bands); /获取数据种类datatypetypeConvert.ToInt32(type);System.Console.WriteLine(type);/获取数据解译方式interleaveinterleveinterleve;System.Console.WriteLine(interleve);true;c

6、atch/读取失败return/关闭文件流,释放内存blnSuccess;2.读取数据文件进行转换存储bip转换为bsqstrInputFile源文件名称与路径strOutputFile目标文件名称与路径pixComCountspixLineCounts是否转换成功publicBipToBsq(stringstrInputstrOutputpixComCounts,intpixLineCounts,intbands,inttype)inputF(strInputFile,.Open);outputF(strOutputFile,.CreateNew);totalsizepixComCounts

7、*pixLineCountstype;/计算输入文件总字节数(totalsizeinputF.Length)bytebtsbytetotalsize;num0,bt;(btinputF.ReadByte()-1)/读取出全部字节数据,存储在数组中btsnum(byte)bt;num+;for(intbandnum0;bands;bandnum+)/读取波段写入rowpixLineCounts;row+)/按行写入columnumpixComCounts;columnum+)/读取列写入startpostypenumtypenum+)/读取数据基本单元类型输入数据outputF.WriteByt

8、e(btsstartpostypenum); outputF.Flush();/保存缓存文件outputF.Close();/关闭撤销变量文件outputF.Dispose();inputF.Close();inputF.Dispose();bsq转换为bilBsqToBil(stringstrInputFile,strOutputFile,pixComCounts,pixLineCounts,bands,if(totalsize!=inputF.Length)0,bt;while(bt=inputF.ReadByte()/按行写入数据/按波段写入数据bandnum+row*pixComCounts*type;/写入没一列数据/按数据基本单元类型输入数据columnum*type+typenum);bil转换为bipBilToBip(stringbandnum+type*columnum;/获取基准位置

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1