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 文件操作的详解及实例
Sep 18 Python
解决Python requests库编码 socks5代理的问题
May 07 Python
pycharm打开命令行或Terminal的方法
Jan 16 Python
Python实现获取系统临时目录及临时文件的方法示例
Jun 26 Python
python实现的登录与提交表单数据功能示例
Sep 25 Python
python json 递归打印所有json子节点信息的例子
Feb 27 Python
python实现同一局域网下传输图片
Mar 20 Python
Python关键字及可变参数*args,**kw原理解析
Apr 04 Python
TensorFlow使用Graph的基本操作的实现
Apr 22 Python
pycharm + django跨域无提示的解决方法
Dec 06 Python
Python Selenium操作Cookie的实例方法
Feb 28 Python
Keras多线程机制与flask多线程冲突的解决方案
May 28 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中实现生成静态文件的方法缓解服务器压力
2014/01/07 PHP
php中函数前加&符号的作用分解
2014/07/08 PHP
php简单实现屏蔽指定ip段用户的访问
2015/04/29 PHP
Twig模板引擎用法入门教程
2016/01/20 PHP
jQuery学习笔记 操作jQuery对象 CSS处理
2012/09/19 Javascript
jquery checkbox实现单选小例
2013/11/27 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
jquery实现的Banner广告收缩效果代码
2015/09/02 Javascript
NodeJS使用formidable实现文件上传
2016/10/27 NodeJs
jquery配合.NET实现点击指定绑定数据并且能够一键下载
2016/10/28 Javascript
Centos7 中安装 Node.js v4.4.4
2016/11/03 Javascript
解析微信JS-SDK配置授权,实现分享接口
2016/12/09 Javascript
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
[01:04:49]KG vs LGD 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
浅谈python内置变量-reversed(seq)
2017/06/21 Python
Python编程实现从字典中提取子集的方法分析
2018/02/09 Python
Python正则表达式匹配和提取IP地址
2019/06/06 Python
Django跨域资源共享问题(推荐)
2020/03/09 Python
Python结合Window计划任务监测邮件的示例代码
2020/08/05 Python
python 获取字典特定值对应的键的实现
2020/09/29 Python
Python threading模块condition原理及运行流程详解
2020/10/05 Python
CSS3实现的文本3D效果附图
2014/09/03 HTML / CSS
使用phonegap检测网络状态的方法
2017/03/30 HTML / CSS
XML文档面试题
2015/08/05 面试题
化学教师教学反思
2014/01/17 职场文书
工程承诺书怎么写
2014/05/24 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
建筑专业毕业生求职信
2014/09/30 职场文书
自愿离婚协议书2015
2015/01/26 职场文书
小班上学期个人总结
2015/02/12 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书
会计手工模拟做账心得体会
2016/01/22 职场文书
jdbc使用PreparedStatement批量插入数据的方法
2021/04/27 MySQL
java中用float时,数字后面加f,这样是为什么你知道吗
2021/09/04 Java/Android
Python实现批量自动整理文件
2022/03/16 Python