将ENVI的roi转为mask图像

方法1: 直接使用ENVI

  • step1: 将roi文件存储为.roi格式

    [1] 链接: link

  • step2: 将.roi转为mask
    [2] 链接: link
    [3] 链接: link

方法2: 使用Matlab

  • step1: 将roi文件存储为.xlm 文件

  • step2:针对把每个roi存储为一个单独文件

    [4] 读取xlm文件: link
    [5] 生成mask:link

  • .xlm文件示例:红括号内是一个点的坐标(x,y)

在这里插入图片描述

  • matlab code

% 1. Define inputfile and output folder
fn1 = './input.xml';
dirout1 ='/mask_folder/'


% 2. Read .xlm file
T = readtable(fn1);


% 3. Check variable name 
% opts = detectImportOptions(fn1);
% var_name  = opts.VariableNames.'



% 4. Read coordinate 
Coor = T.Coordinates;
Coor_list = {}
for i = 1: size(Coor,1)
    Coor_newStr = split(Coor(i),' ');  % read the coordinate 
    for j=1: length(Coor_newStr)/2
        idx0 = 2*j-1;
        idx1 = 2*j;
        X_list(j) = str2num(Coor_newStr(idx0)); % convert str to number
        Y_list(j) = str2num(Coor_newStr(idx1));  % convert str to number
        clear idx0 idex1;
    end 
    Coor_list{i}= [X_list;Y_list];
    clear X_list Y_list;

end 
 


% 5. Creat mask base on roi and save as png
% 1: 多边形的值
% 0: 无效值
for i = 1: length(Coor_list)

    bw = poly2mask(Coor_list{i}(1,:),Coor_list{i}(2,:),weight,width);

    %imwrite(bw,strcat(dirout1,'ROI_',num2str(i,'%03.f'),'.png'),'png');

    clear bw;
    
end 


Other reference

[1] Python convert roi to mask: link
[2] IDL READENVIROI - Read ENVI files: link

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值