kieuanh的个人博客分享 http://blog.sciencenet.cn/u/kieuanh

博文

多分类器集成文件读取

已有 2856 次阅读 2013-10-27 13:32 |系统分类:论文交流

主程序
pro MC_integrated
 ;ENVI初始化
 compile_opt idl2
 envi,/restore_base_save_files
 envi_batch_init,log_file='batch.log'
;+----------------------------------------------------------------------------------------------------------
;|文件打开及数据存储
;+----------------------------------------------------------------------------------------------------------
 ;打开envi支持的文件格式,envi_pickfile函数可从外部磁盘中读取文件
 o_file=envi_pickfile(title='选择子分类器文件',/multiple_files)   ;multiple_files实现同时打开多个文件
;  help,o_file        ;获取o_file的数据类型
;  help,size(o_file,/dimensions)      ;获取o_file的维数
 ;显示已选择的文件名及文件个数
     f_name=file_search(o_file,count=count1)
     envi_open_file,o_file[0],r_fid=o_fid
       if (o_file[0] eq '') then return
       ;如果要把每个文件的信息都读取出来且存储下来,则需要给它们设定数组变量;否则后读的文件信息会把前面的文件信息覆盖掉
       ;因为每个文件的行列信息及投影信息都是一样的,只是它们的数据有所差别,这样行列及投影信息是可以共用的
       ;但需要对数据分别存储,则需要知道行列号,就先进行信息查询
     envi_file_query,o_fid,fname=fname,data_type=data_type,interleave=interleave,$
                     dims=dims,nl=nl,ns=ns,nb=nb,Xstart=Xstart,Ystart=Ystart,$
                     num_classes=num_classes,class_name=class_name,lookup=lookup
     map_info=envi_get_map_info(fid=o_fid)
     ;知道行列号信息后,定义一个数据数组,用来存储class
     data=lindgen(ns,nl,count1)
     
     for n=0,count1-1 do begin
       f_name=o_file[n]
       envi_open_file,o_file[n],r_fid=o_fid
       ;获取分类数据
       data[*,*,n]=envi_get_data(fid=o_fid,dims=dims,pos=0)  
    ;help,size(c_data,/dimensions)
    endfor



https://wap.sciencenet.cn/blog-1114664-736515.html


下一篇:并集交集差集求算
收藏 IP: 183.224.69.*| 热度|

0

该博文允许实名用户评论 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-20 22:41

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部