代理权限
BSDS500分割数据集的下载及简单处理
在做⽼师的⼀个科研项⽬时接触到这个数据集,我搜集到的⽹上的资料较少,所以简单记录⼀下如何处理这个数据集。
BSDS500数据集下载地址:
数据集的制作过程参考论⽂:A Databa of Human Segmented Natural Images and its Application to Evaluating Segmentation Algorithms and Measuring Ecological Statistics,在此不详细阐述。
Matlab处理脚本
⽣成可视化轮廓图:
% make_gt_bondary_image.m
% bsdsRoot 变量的值为包含train、test、val⽂件夹的地址
%在处理时应当提前在train、test、和val下新建⽂件夹bon,bon⾥需要新建train、test、val两个⼦⽂件夹
state = 'test';%修改为test或train或val,分别处理两个⽂件夹
file_list = dir(fullfile(bsdsRoot,state,'*.mat'));%获取该⽂件夹中所有jpg格式的图像
for i=1:length(file_list)
mat = load(file_list(i).name);
[~,image_name,~] = fileparts(file_list(i).name);
gt = undTruth;
for gtid=1:length(gt)
bmap = gt{gtid}.Boundaries;
if gtid==1
image = bmap;
el
image(bmap==true)=true;
end
end
%⿊底⽩边
imwrite(double(image),fullfile(bsdsRoot,'bon',state,[image_name '.jpg']));
信用卡还信用卡%⽩底⿊边
%imwrite(1-double(image),fullfile(bsdsRoot,'bon',state,[image_name '.jpg']));
end
如果处理的时train,则此脚本需要在train⽂件夹内运⾏。下同。
复数s的发音规则效果图
⽣成分块可视化图:
% make_gt_g_image.m
大学生职业% bsdsRoot 变量的值为包含train、test、val⽂件夹的地址
%在处理时应当提前在train、test、和val下新建⽂件夹bon,bon⾥需要新建train、test、val两个⼦⽂件夹state = 'test';%修改为test或train或val,分别处理两个⽂件夹
刘玉宁file_list = dir(fullfile(bsdsRoot,state,'*.mat'));%获取该⽂件夹中所有jpg格式的图像
for i=1:length(file_list)
mat = load(file_list(i).name);
[~,image_name,~] = fileparts(file_list(i).name);
汽吊gt = undTruth;
for gtid=1:length(gt)
g = double(gt{gtid}.Segmentation);
多想再回到从前
g = g/max(max(g));
if gtid == 1
image = g;
el
image = image+g;
end
阿拉斯加犬end
image = image/length(gt);
imwrite(double(image),fullfile(bsdsRoot,'g',state,[image_name '.jpg']));
end
效果图