人群计数如何根据mat文件生csv

MCNN代码

https://github.com/svishwa/crowdcount-mcnn

ShanghaiTech Dataset

Dropbox: https://www.dropbox.com/s/fipgjqxl7uj8hd5/ShanghaiTech.zip?dl=0

下载mcnn代码和ShanghaiTech Dataset,按照代码所说,在代码文件夹中创建 data/original/shanghaitech/ ,如图所示。

然后把上海tech的partA和partB放入shanghaitech这个文件夹。一定要按照他所说的来,不然接下来你要自己改路径比较麻烦。

然后在matlab中打开crowdcount-mcnn-master文件夹中的 create_gt_test_set_shtech.m

 这里面主要是对test文件根据mat生成csv,如果你要生成train文件把路径改了即可。

一定要注意如果你要生成train的一定要修改 num_images 的个数,因为train和test图片数量不同。然后要生成B的把dataset = 'A';改成dataset = 'B';

下面是生成csv的matlab代码。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% File to create grount truth density map for test set%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


clc; clear all;
dataset = 'B';
dataset_name = ['shanghaitech_part_' dataset ];
path = ['../data/original/shanghaitech/part_' dataset '_final/test_data/images/'];
gt_path = ['../data/original/shanghaitech/part_' dataset '_final/test_data/ground_truth/'];
gt_path_csv = ['../data/original/shanghaitech/part_' dataset '_final/test_data/ground_truth_csv/'];

mkdir(gt_path_csv )
if (dataset == 'B')
    num_images = 316;  # 这里原本是判断如果是B数据集test是多少张图片,是A是多少,如果你要生成 B的train的csv就自己改一下num_images的数量就行了
else
    num_images = 182;  
end

for i = 1:num_images    
    if (mod(i,10)==0)
        fprintf(1,'Processing %3d/%d files\n', i, num_images);
    end
    load(strcat(gt_path, 'GT_IMG_',num2str(i),'.mat')) ;
    input_img_name = strcat(path,'IMG_',num2str(i),'.jpg');
    im = imread(input_img_name);
    [h, w, c] = size(im);
    if (c == 3)
        im = rgb2gray(im);
    end     
    annPoints =  image_info{1}.location;   
    [h, w, c] = size(im);
    im_density = get_density_map_gaussian(im,annPoints);    
    csvwrite([gt_path_csv ,'IMG_',num2str(i) '.csv'], im_density);       
end

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值