caffe-图片转为lmdb数据集

介绍:

1. 该数据集由26个字母组成,不区分大小写

2. 图片分为两类:训练和测试,其中训练2047张图片,测试836张图片

3. 两类图片分为两个文件价:trainImg   testImg

4. 每个文件夹下由26个子文件夹,分别存放26个字母的图片

如图所示:

制作数据标签:

MATLAB代码如下:

clc
clear all;
file_path='/home/×××/Caffe/caffe-master/examples/english/trainImg/';
fid=fopen('trainLabel.txt','wt');
for i=1:26
    file_path1=strcat(file_path, (int2str(i)), '/');
    imgPath=dir(strcat(file_path1, '*.jpg'));
    imgNum=length(imgPath);
    for j=1:imgNum
        image_num=imgPath(j).name;
        str=[image_num, ' ', int2str(i)];
        fprintf(fid,  '%s\n', str);
    end
end
fid=fclose(fid);


在caffe/caffe-master/examples/文件夹下新建一个文件夹english(根据个人情况自己命名)

制作数据集:


DATA=examples/english
DBTYPE=lmdb

rm -rf $DATA/english_train_lmdb28
build/tools/convert_imageset --shuffle \
--resize_height=28 --resize_width=28 \
/home/×××/Caffe/caffe-master/examples/english/trainImg/ $DATA/trainLabel.txt  $DATA/english_train_lmdb28
echo 'train_lmdb done ...'

rm -rf $DATA/english_test_lmdb28
build/tools/convert_imageset --shuffle \
--resize_height=28 --resize_width=28 \
/home/×××/Caffe/caffe-master/examples/english/testImg/ $DATA/testLabel.txt  $DATA/english_test_lmdb28
echo 'test_lmdb done...'

echo "Computing image mean..."

./build/tools/compute_image_mean -backend=$DBTYPE \
  $DATA/english_train_lmdb28 $DATA/englishmean.binaryproto

echo "Done."

最后就会在english_train_lmdb28           english_test_lmdb28文件价下生成数据集



猜你喜欢

转载自blog.csdn.net/feelingjun/article/details/77455678
今日推荐