资源简介

利用MATLAB读写ENVI文件的代码,也是从其他地方下载的,做了简单的修改,发现原来代码在写matlab uint8类型的时候报错,因此增加了处理

资源截图

代码片段和文件信息

function write_envi(input_datafilenamegeo)
%保存ENVI文件(.img和.hdr)到内存
%输入
%input_data图像立方体
%filename,路径加文件名,无扩展名
%geo地理信息
%
    file_img=[filename‘.img‘];
    file_hdr=[filename‘.hdr‘];
    %分析文件的行、列、层 及 数据格式
    %[sampleslinesbands] = size(input_data);
    [sampleslinesbands] = size(input_data);
    input_data_class = class(input_data);
    %写出数据文件
    file_img_id = fopen(file_img‘wb‘);
    %output_data = permute(input_data[213]);
    fwrite(file_img_idinput_datainput_data_class);
    fclose(file_img_id);
    %写出头文件
    switch input_data_class %数据格式
        case ‘int16‘
            input_data_class_num = 2;
        case ‘int32‘
            input_data_class_num = 3;
        case ‘single‘
            input_data_class_num = 4;
        case ‘double‘
            input_data_class_num = 5;
        case ‘uint8‘
            input_data_class_num = 1;
        case ‘Uint16‘
            input_data_class_num = 12;
        case ‘Uint32‘
            input_data_class_num = 13;
        case ‘int64‘
            input_data_class_num = 14;
        case ‘Uint64‘
            input_data_class_num = 15;
        otherwise
            errordlg(‘数据类型错误!‘‘错误‘);
            return
    end
    %output_File_hdr = output_File;
    %output_File_hdr(end-2:end) = ‘hdr‘;
    file_hdr_id = fopen(f

评论

共有 条评论