图片掩码

clc;
clear;

imgDir = 'D:\dataset\PASCAL-S\renamed_imgs';
rankDir = 'D:\dataset\PASCAL-S\renamed';
outputDir = 'D:\dataset\PASCAL-S\colored_imgs';

if ~exist(outputDir, 'dir')
    mkdir(outputDir)
end

img_list = dir(imgDir);

for i = 3:length(img_list)
    img_name = img_list(i).name;
    img = imread([imgDir, '\', img_name]);
    img_rank = imread([rankDir, '\', strtok(img_name, '.'), '.png']);
    instances = unique(img_rank);
    instances(instances==0)=[];
    rgb = [0, 0, 0];
%     if length(instances) > 8
%         disp(img_name);
%         continue;
%     end
    if length(instances) == 1
        disp(i);
        disp(img_name);
        continue;
    end
    for j = 1:length(instances)
        bin = dec2bin(j, 3);
        for k = 1:length(bin)
            rgb(k) = str2num(bin(k));
        end
        instance_mask = uint8(img_rank == instances(j));
        instance_mask(instance_mask==1)=255;
        for k = 1:length(rgb)
            if rgb(k) == 1
                instance_mask2 = instance_mask + img(:,:,k);
                img(:,:,k) = instance_mask2;
            end
        end
    end
    out_dir = [outputDir, '\', img_name, '.jpg'];
    imwrite(img, out_dir);
end

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值