Caffe:如何将图片数据转换成lmdb文件

1 图片信息的转换

  在caffe中经常使用的数据类型是lmdb或leveldb;不是常见的jpg,jpeg,png,tif等格式;因此,需要进行格式转换,通过输入你自己的图片目录(下有的大量图片)转换成一个lmdb库文件输出;这个过程一般由caffe工具convert_imageset完成,该工具在编译过的caffe-master/build/tools目录下;

2 格式转换需要的条件

  格式转换准备条件有:1)编译好caffe,而且convert_imageset存在; 2)被转换的图片和目录,注意这些都有格式要求 3)两个标签文件train.txt,val.txt; 4)用命令编辑好的shell脚本create-lmdb.sh;

3 被转换图片文件和存放目录

按照下面图示安排转换目录:注意该例子中,图片分为0类和1类两个集合;

4 标签文件train.txt和val.txt

转换过程,除了上面提到的图片文件目录,还需要这些图片的标签文件;该文件存放图片文件路径,以及该图片的标签(属于哪个类);一般来说,标签文件有两个,一个描述训练集合-train.txt,一个描述测试集合-val.txt,这两个文件格式有轻微差别,标签文件格式如下:

train.txt文件:

1/T10034.jpg 1
0/096377_01M36.JPG 0
1/T580.jpg 1
1/T4151.jpg 1
0/100333_00F42.JPG 0
0/076902_04M36.JPG 0

注意:该文件包含路径/1和/0;分别存放0,1两类图片。

val.txt文件:

T10034.jpg 1
221169_02M52.JPG 0
T580.jpg 1
T4694.jpg 1
332136_01M17.JPG 0
181085_02M28.JPG 0
133417_02M37.JPG 0

注意:该测试集的标签文件无需分类存储;与train.txt和val.txt相伴随的目录结构图对照;显然,文件内容和目录是密切关联的;

5 如何生成标签文件train.txt和val.txt

  当图片规模达到上千万级别,上述两个文件的生成需要程序实现,网上的找到一个shell脚本如下,

    # /usr/bin/env sh
    DATA=examples/images
    echo "Create train.txt..."
    rm -rf $DATA/train.txt
    find $DATA -name *cat.jpg | cut -d ‘/‘ -f3 | sed "s/$/ 1/">>$DATA/train.txt
    find $DATA -name *bike.jpg | cut -d ‘/‘ -f3 | sed "s/$/ 2/">>$DATA/tmp.txt
    cat $DATA/tmp.txt>>$DATA/train.txt
    rm -rf $DATA/tmp.txt
    echo "Done.."  

  将该文件拷贝到caffe-master目录下执行,会在caffe-master/example/images目录下生成如下的一个train.txt文件:

    cat.jpg 1
    fish-bike.jpg 2 

  只要将上述文件稍加修改,不难产生你需要的脚本。

6 用脚本命令生成lmdb

  编写一个shell文件create_lmdb.sh,内容如下:

    #!/usr/bin/en sh
    DATA=examples/images
    rm -rf $DATA/img_train_lmdb
    build/tools/convert_imageset --shuffle \
    --resize_height=256 --resize_width=256 \
    /home/my_name/caffe/examples/images/ $DATA/train.txt  $DATA/img_train_lmdb  

7 执行脚本

  设置参数-shuffle,打乱图片顺序。设置参数-resize_height和-resize_width将所有图片尺寸都变为256*256.

  /home/my_name/caffe/examples/images/ 为图片保存的绝对路径。最后,运行这个脚本文件

# sudo sh examples/images/create_lmdb.sh

  就会在examples/images/ 目录下生成一个名为 img_train_lmdb的文件夹,里面的文件就是我们需要的db文件。

 

时间: 2024-07-30 10:17:03

Caffe:如何将图片数据转换成lmdb文件的相关文章

用PDF编辑器将图片转换成PDF文件的诀窍

大家在办公的时候将一些图片上传到网上的时候都不希望自己的图片破坏掉,于是就出现了将图片转换成PDF格式文件的方法.这样一来别人想要将PDF文件进行修改就比较困难了. 那么如何使用PDF编辑器将图片转换成PDF文件呢?下面小编就来教大家使用福昕PDF编辑器将图片转换成PDF格式. 1.打开安装好的福昕PDF编辑器: 2.点击顶部菜单栏[转换]-[文件转换]-[将多个文件转换为PDF]: 3.在弹出的窗口中,批量选中需要转换的图片: 4.如果需要,可以勾选左下角的选项,将所有图片合并在一个PDF文件

如何用不同的工具将图片转换成PDF文件

将一些图片制作成一个文档这种操作经常会遇到,有时候为了保持图片的清晰度,会选择将图片都转换成一个pdf文件,在没有pdf编辑器情况下图片如何转换成pdf文件呢? 首先我们需要整理好要转换的图片,然后打开pdf转换工具,选择图片转PDF. 然后是把整理好的图片按编号有序的添加到转换列表,基本上大部分的格式的图片都可以进行添加.添加玩图片后,查看下方选项设置是否是将这些图片合并成一个PDF文件. 最后设置好输出目录,点开始转换后,等文件转换完成,就可以在输出目录中生成一个PDF文件了. 这种方法是将

Dat2Rin.exe + runpkr00.exe 将*.T0* 数据转换成Rinex文件

1. 问题 对于天宝的原始观测数据,常用的是使用ConvertToRinex.exe,但是ConvertToRinex是基于诸如TGO/TBC之类的数据处理软件的,也就是说要运行ConvertToRinex.exe的前提是安装了TGO/TBC才能使用.而且ConvertToRinex.exe都是需要手动来选择文件进行转换,当有大量的数据需要转换时就是个比较浪费人力的事情. 2. 解决办法 Dat2Rin.exe, runpkr00.exe是天宝公司开发的针对旗下接收机的原始观测数据进行转换的软件

python,多图片转换成pdf文件

# -*- coding:utf-8 -*-#!/usr/bin/env python import osfrom reportlab.lib.pagesizes import A4, landscapefrom reportlab.pdfgen import canvasfrom tkinter import *import time # 图片文件名称列表IMAGEFILES = []class pdfTk(object): def __init__(self): '''用于生成主界面用于填写

Caffe使用:如何将一维数据或其他非图像数据转换成lmdb

caffe事儿真多,数据必须得lmdb或者leveldb什么的才行,如果数据是图片的话,那用caffe自带的convert_image.cpp就行,但如果不是图片,就得自己写程序了.我也不是计算机专业的,我哪看得懂源码,遂奋发而百度之,然无甚结果,遂google之,尝闻“内事不决问百度,外事不决问google”,古人诚不我欺.在caffe的google group里我找到了这个网址:http://deepdish.io/2015/04/28/creating-lmdb-in-python/ 代码

Object C 中nsdata图片数据转换成Java字节

NSDATA转换的图片为 16进制编码,将每段16进制编码解码成字节即可 String imgData = "ffd8ffe0 00104a46 49460001 01000001 00010000 ffe10058 45786966 00004d4d 002a0000 00080002 01120003 00000001 00010000 87690004 00000001 00000026 00000000 0003a001 00030000 00010001 0000a002 000400

MFC将图片转换成ico文件

#include "atlimage.h" HICON ToIcon(int cx,int cy) { CImage img; img.Load("cap.bmp");//可以是jpg,png,gif格式图片 int w = img.GetWidth(); int h = img.GetHeight(); CDC * dc = CDC::FromHandle(GetWindowDC(GetDesktopWindow())); CDC mdc; mdc.CreateC

IOS开发—图片压缩/解压成Zip文件

图片压缩/解压成Zip文件 本文介绍如何将图片压缩成Zip文件,首先需要下载第三方库ZipArchive 并导入项目中. ZipArchive 库地址:https://github.com/mattconnolly/ZipArchive 一.文档结构: 二.准备工作: 1.框架导入: 2.ZipArchive.m文件使用非ARC机制 三.代码示例: // // ViewController.m // UnzipImgDemo // // Created byLotheve on 15/4/10.

照片转成pdf 如何把jpg图片转换成pdf格式

大家不知道还记不记得,那句台词"好男人就是我,我就是xxx"曾小贤.没错就是他<爱情公寓>毫无疑问近几年比较有特点的喜剧了,而且每个人都在盼望着第五季.尤其是到第四部结尾的时候,大家都希望曾小贤能和一菲在一起,在这时候它结束了,我们都幻想着爱情公寓第五季,可是迟迟没有音信.大家依然还记得子乔的小姨妈.楼下的小黑.婉瑜.展博. 这群年轻人跟现实生活中的我们一样,过着合租群租的生活,我们没有他们那么多的欢声笑语,可能这就是电视剧和现实差距,当我们最爱的几位主演都有了自己新的工作