admin管理员组

文章数量:1535297

2024年6月17日发(作者:)

Caffe学习系列(11):图像数据转换成db(leveldb/lmdb)文件

在深度学习的实际应用中,我们经常用到的原始数据是图片文件,如jpg,jpeg,png,tif等格式

的,而且有可能图片的大小还不一致。而在caffe中经常使用的数据类型是lmdb或leveldb,因此

就产生了这样的一个问题:如何从原始图片文件转换成caffe中能够运行的db(leveldb/lmdb)文

件?

在caffe中,作者为我们提供了这样一个文件:convert_,存放在根目录下的tool

s文件夹下。编译之后,生成对应的可执行文件放在 buile/tools/ 下面,这个文件的作用就是用于将

图片文件转换成caffe框架中能直接使用的db文件。

该文件的使用格式:

convert_imageset [FLAGS] ROOTFOLDER/ LISTFILE DB_NAME

需要带四个参数:

FLAGS: 图片参数组,后面详细介绍

ROOTFOLDER/: 图片存放的绝对路径,从linux系统根目录开始

LISTFILE: 图片文件列表清单,一般为一个txt文件,一行一张图片

DB_NAME: 最终生成的db文件存放目录

如果图片已经下载到本地电脑上了,那么我们首先需要创建一个图片列表清单,保存为txt

本文以caffe程序中自带的图片为例,进行讲解,图片目录是 example/images/, 两张图片,

一张为, 另一张为fish_,表示两个类别。

我们创建一个sh脚本文件,调用linux命令来生成图片清单:

# sudo vi examples/images/create_

编辑这个文件,输入下面的代码并保存

# /usr/bin/env sh

DATA=examples/images

echo "Create ..."

rm -rf $DATA/

find $DATA -name * | cut -d '/' -f3 | sed "s/$/ 1/">>$DATA/

find $DATA -name * | cut -d '/' -f3 | sed "s/$/ 2/">>$DATA/

cat $DATA/>>$DATA/

rm -rf $DATA/

echo "Done.."

本文标签: 文件图片生成数据库列表