caffe:将图像转化为LMDB格式文件

8 篇文章 0 订阅

将图片数据转化为LMDB数据
第一步:创建图片文件列表清单,一般为一个txt文件,一行一张图片
第二步:使用Caffe工具命令
convert_imageset [FLAGS] [ROOTFOLDER/] [LISTFILE] [DB_NAME]
需要带四个参数:
FLAGS: 图片参数组
-gray: 是否以灰度图的方式打开图片。程序调用opencv库中的imread()函数来打开图片,默认为false
-shuffle: 是否随机打乱图片顺序。默认为false
-backend:需要转换成的db文件格式,可选为leveldb或lmdb,默认为lmdb
-resize_width/resize_height: 改变图片的大小。在运行中,要求所有图片的尺寸一致,因此需要改变图片大小。 程序调用opencv库的resize()函数来对图片放大缩小,默认为0,不改变
-check_size: 检查所有的数据是否有相同的尺寸。默认为false,不检查
-encoded: 是否将原图片编码放入最终的数据中,默认为false
-encode_type: 与前一个参数对应,将图片编码为哪一个格式:‘png’,’jpg’……
ROOTFOLDER/: 图片存放的绝对路径,从linux系统根目录开始
LISTFILE: 图片文件列表清单,一般为一个txt文件,一行一张图片
DB_NAME: 最终生成的db文件存放目录

1、 实际操作
(a)、首先在建立一个文件夹(samples),然后在该文件夹下面再创建两个文件夹,分别为train和test。train和test两个文件夹下都是不同类的图像(我的是flower和horse两类图像)。
(b) 对两类图像添加label,flower为0,horse为1,然后执行以下命令,得到训练图像中flower的label文件:
dwz@dwz-ubuntu-0520:~/samples lstrain/flower|sed"s::flower/:"|sed"s: : 0:” >>t_train.txt
修改命令并执行,得到训练图像中horse的label文件,flower和horse的label文件在同一个txt文件中:
dwz@dwz-ubuntu-0520:~/samples lstrain/horse|sed"s::horse/:"|sed"s: : 1:” >>t_train.txt
同理,对test文件夹中的两类图像得到txt格式的label文件:
dwz@dwz-ubuntu-0520:~/samples lstest/flower|sed"s::flower/:"|sed"s: : 0:” >>t_test.txt
dwz@dwz-ubuntu-0520:~/samples lstest/horse|sed"s::horse/:"|sed"s: : 1:” >>t_test.txt

(c)最后执行以下命令可以得到test图像LMDB格式的文件:
dwz@dwz-ubuntu-0520:~/samples convertimagesetresizewidth=40resizeheight=40/home/dwz/samples/test/./ttest.txt./ttestlmdbtrainLMDBdwz@dwzubuntu0520: /samples convert_imageset –resize_width=40 –resize_height=40 /home/dwz/samples/train/ ./t_train.txt ./t_train_lmdb
注:convert_imageset是caffe的自带函数,将图像转化为LMDB格式的文件;
resize将图像的大小都调整为40*40;
文件的目录必须是绝对目录;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值