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显示生日是星期几的方法
May 27 Python
对python 矩阵转置transpose的实例讲解
Apr 17 Python
Python3实现的简单验证码识别功能示例
May 02 Python
用Python编写一个简单的CS架构后门的方法
Nov 20 Python
Python:Numpy 求平均向量的实例
Jun 29 Python
使用django的ORM框架按月统计近一年内的数据方法
Jul 18 Python
python GUI库图形界面开发之PyQt5布局控件QGridLayout详细使用方法与实例
Mar 06 Python
Python 实现自动完成A4标签排版打印功能
Apr 09 Python
详解python中GPU版本的opencv常用方法介绍
Jul 24 Python
Pandas替换及部分替换(replace)实现流程详解
Oct 12 Python
Python中logging日志的四个等级和使用
Nov 17 Python
Python网络编程之ZeroMQ知识总结
Apr 25 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
我的论坛源代码(六)
2006/10/09 PHP
PHP编程中八种常见的文件操作方式
2006/11/19 PHP
PHP小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
PHP高级编程实例:编写守护进程
2014/09/02 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
php中使用array_filter()函数过滤数组实例讲解
2021/03/03 PHP
理解Javascript_13_执行模型详解
2010/10/20 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
Bootstrap每天必学之面板
2015/11/30 Javascript
js 动态给元素添加、移除事件的实现方法
2016/07/19 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
Laravel中常见的错误与解决方法小结
2016/08/30 Javascript
浅谈js中的变量名和函数名重名
2017/02/13 Javascript
详解基于Vue+Koa的pm2配置
2017/10/24 Javascript
JS计算两个时间相差分钟数的方法示例
2018/01/10 Javascript
AJAX在JQuery中的应用详解
2019/01/30 jQuery
vue.js表单验证插件(vee-validate)的使用教程详解
2019/05/23 Javascript
浅析 Vue 3.0 的组装式 API(一)
2020/08/31 Javascript
pytorch 调整某一维度数据顺序的方法
2018/12/08 Python
Python3如何对urllib和urllib2进行重构
2019/11/25 Python
django连接mysql数据库及建表操作实例详解
2019/12/10 Python
python垃圾回收机制(GC)原理解析
2019/12/30 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
用 python 进行微信好友信息分析
2020/11/28 Python
flask框架中的cookie和session使用
2021/01/31 Python
德国狗狗用品在线商店:Schecker
2017/03/17 全球购物
Bonami斯洛伐克:购买家具和家居饰品
2019/07/02 全球购物
SOA面试题:如何在SOA中实现松耦合
2013/07/21 面试题
《望庐山瀑布》教学反思
2014/04/22 职场文书
小学模范班主任事迹材料
2014/05/13 职场文书
健康教育评估方案
2014/05/25 职场文书
2014年团支书工作总结
2014/11/14 职场文书
大学生实习介绍信
2015/05/05 职场文书
Python数据分析入门之数据读取与存储
2021/05/13 Python