图像及label处理为密度图并保存为csv格式
该方法使用matlab
427更新,解决了保存3通道图片,密度图3通道保存出错的问题
主程序
################################################
#############MERCY ROIN 2020/03/21##############
########https://blog.csdn.net/qq_42732137#######
################################################
clc; clear all;
seed = 95461354;
rng(seed)
N = 2;
dataset = 'train';
%图片链接
path = ['I:/crowd_dataset/L/'];
output_path = 'I:/crowd_dataset/L/formatted_trainval_1';
train_path_img = strcat(output_path, '/train/');
train_path_den = strcat(output_path, '/train_den/');
val_path_img = strcat(output_path, '/val/');
val_path_den = strcat(output_path, '/val_den/');
gt_path = ['I:/crowd_dataset/L/'];
img = dir('I:\crowd_dataset/L\*.jpg');%load img
mkdir(output_path)
mkdir(train_path_img);
mkdir(train_path_den);
mkdir(val_path_img);
mkdir(val_path_den);
num_images = length(img);
num_val = ceil(num_images*0.1);
indices = randperm(num_images);
for idx = 1:num_images
i = indices(idx);
imgname = img(idx).name;
matname = imgname;
csvname = imgname;
matname(end-2:end) = 'mat';
csvname(end-2:end) = 'csv';
load([gt_path matname]);%gt.mat path
if (mod(idx,10)==0)
fprintf(1,'Processing %3d/%d files\n', idx, num_images);
end
image = imread([path, imgname]);
annPoints = gt_point; %mat里函数名注意修改为自己的
%灰度处理。如果图像使用RGB
% [h, w, c] = size(image)