python读取LMDB中图像的方法


Posted in Python onJuly 02, 2018

本文实例为大家分享了python读取LMDB中的图像具体代码,供大家参考,具体内容如下

图像数据写入LMDB之后最好再按照写入的逻辑反向解析写入的图像,如果图像能够被还原则证明写入方式是没有问题的。

from PIL import Image

def read_from_lmdb(lmdb_path,img_save_to):
 try:
  lmdb_env=lmdb.open(lmdb_path, map_size=3221225472)
  lmdb_txn=lmdb_env.begin()
  lmdb_cursor=lmdb_txn.cursor()
  datum=caffe.Datum()

  datum_index=0
  for key,value in lmdb_cursor:
    datum.ParseFromString(value)
    label=datum.label
    data=datum.data
    channel=datum.channels
    print ('Datum channels: %d' % datum.channels)
    print ('Datum width: %d' % datum.width)
    print ('Datum height: %d' % datum.height)
    print ('Datum data length: %d' % len(datum.data))
    print ('Datum label: %d' % datum.label)

    size=datum.width*datum.height
    pixles1=datum.data[0:size]
    pixles2=datum.data[size:2*size]
    pixles3=datum.data[2*size:3*size]
    #Extract images of different channel
    image1=Image.frombytes('L', (datum.width, datum.height), pixles1)
    image2=Image.frombytes('L', (datum.width, datum.height), pixles2)
    image3=Image.frombytes('L', (datum.width, datum.height), pixles3)
    #注意三通道的顺序,如果LMDB中图像是按照BGR存储的则需要按照:image3,image2,image1的顺序合并为RGB图像。PIL中图像是按照RGB的顺序存储的
    image4=Image.merge("RGB",(image3,image2,image1))
    image4.save(img_save_to+str(key)+".jpg")
    datum_index+=1
    print "extracted"

 finally:
   lmdb_env.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 时间操作例子和时间格式化参数小结
Apr 24 Python
Python中exit、return、sys.exit()等使用实例和区别
May 28 Python
利用Python学习RabbitMQ消息队列
Nov 30 Python
利用Python如何实现数据驱动的接口自动化测试
May 11 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
Dec 04 Python
python读取各种文件数据方法解析
Dec 29 Python
Pandas 缺失数据处理的实现
Nov 04 Python
Python集合操作方法详解
Feb 09 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
Feb 12 Python
pandas和spark dataframe互相转换实例详解
Feb 18 Python
150行Python代码实现带界面的数独游戏
Apr 04 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
Jun 02 Python
python读写LMDB文件的方法
Jul 02 #Python
对numpy中的数组条件筛选功能详解
Jul 02 #Python
python matlibplot绘制多条曲线图
Feb 19 #Python
python matlibplot绘制3D图形
Jul 02 #Python
对numpy Array [: ,] 的取值方法详解
Jul 02 #Python
Python使用itertools模块实现排列组合功能示例
Jul 02 #Python
python绘制立方体的方法
Jul 02 #Python
You might like
PHP的开发框架的现状和展望
2007/03/16 PHP
利用discuz实现PHP大文件上传应用实例代码
2008/11/14 PHP
PHP答题类应用接口实例
2015/02/09 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
jQuery数组处理方法汇总
2011/06/20 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
2013/12/24 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
2015/08/24 Javascript
JS+CSS相对定位实现的下拉菜单
2015/10/06 Javascript
基于BootStrap实现局部刷新分页实例代码
2016/08/08 Javascript
AngularJS控制器之间的通信方式详解
2016/11/03 Javascript
在网页中插入百度地图的步骤详解
2016/12/02 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
2017/01/14 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
vue升级之路之vue-router的使用教程
2018/08/14 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
[36:33]Ti4 循环赛第四日 附加赛NEWBEE vs Mouz
2014/07/13 DOTA
[40:10]2015国际邀请赛全明星表演赛
2015/08/07 DOTA
Python读取mp3中ID3信息的方法
2015/03/05 Python
python编程实现希尔排序
2017/04/13 Python
Python求两点之间的直线距离(2种实现方法)
2019/07/07 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
2020/05/11 Python
解决Windows下python和pip命令无法使用的问题
2020/08/31 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
Bibloo荷兰:女士、男士和儿童的服装、鞋子和配饰
2019/02/25 全球购物
HOTEL INFO英国:搜索全球酒店
2019/08/08 全球购物
什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
2012/05/23 面试题
推广普通话标语
2014/06/27 职场文书
《中国梦我的梦》大学生演讲稿
2014/08/20 职场文书
五心教育心得体会
2014/09/04 职场文书
青岛导游词
2015/02/12 职场文书
公司停电通知
2015/04/15 职场文书
未婚证明格式
2015/06/15 职场文书
MySQL 使用SQL语句修改表名的实现
2021/04/07 MySQL