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 Web开发你要理解的WSGI & uwsgi详解
Aug 01 Python
利用Python如何实现一个小说网站雏形
Nov 23 Python
使用python opencv对目录下图片进行去重的方法
Jan 12 Python
用Python爬取QQ音乐评论并制成词云图的实例
Aug 24 Python
感知器基础原理及python实现过程详解
Sep 30 Python
Numpy中对向量、矩阵的使用详解
Oct 29 Python
python求质数列表的例子
Nov 24 Python
python操作cfg配置文件方式
Dec 22 Python
Python使用Tkinter实现滚动抽奖器效果
Jan 06 Python
Django项目uwsgi+Nginx保姆级部署教程实现
Apr 19 Python
python中常见错误及解决方法
Jun 21 Python
python如何爬取网页中的文字
Jul 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 utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
2013/04/08 PHP
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
PHP多进程之pcntl_fork的实例详解
2017/10/15 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
js URL参数的拼接方法比较
2012/02/15 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
JS应用正则表达式转换大小写示例
2014/09/18 Javascript
javascript制作的cookie封装及使用指南
2015/01/02 Javascript
Javascript实现div的toggle效果实例分析
2015/06/09 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
2015/12/03 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
2016/12/08 Javascript
详解Vuejs2.0之异步跨域请求
2017/04/20 Javascript
jQuery表单设置值的方法
2017/06/30 jQuery
Vue 2.0学习笔记之Vue中的computed属性
2017/10/16 Javascript
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
jQuery阻止事件冒泡实例分析
2018/07/03 jQuery
Angular事件之不同组件间传递数据的方法
2018/11/15 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
2019/12/25 jQuery
PyQt5打开文件对话框QFileDialog实例代码
2018/02/07 Python
python自动12306抢票软件实现代码
2018/02/24 Python
Django框架模板用法入门教程
2019/11/04 Python
Django连接数据库并实现读写分离过程解析
2019/11/13 Python
Python测试Kafka集群(pykafka)实例
2019/12/23 Python
Pytorch中的自动求梯度机制和Variable类实例
2020/02/29 Python
python中wx模块的具体使用方法
2020/05/15 Python
Python并发请求下限制QPS(每秒查询率)的实现代码
2020/06/05 Python
Python如何读写二进制数组数据
2020/08/01 Python
css3实现冲击波效果的示例代码
2018/01/11 HTML / CSS
神路信息Java面试题目
2013/03/31 面试题
儿媳婚宴答谢词
2014/01/14 职场文书
大学应届生的自我评价
2014/03/06 职场文书
技校毕业生自荐信
2014/06/03 职场文书
公司领导班子对照材料
2014/08/18 职场文书
2014年十一国庆节活动方案
2014/09/16 职场文书
党组织领导班子整改方案
2014/10/25 职场文书
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS