Python+OpenCV实现将图像转换为二进制格式


Posted in Python onJanuary 09, 2020

在学习tensorflow的过程中,有一个问题,tensorflow在训练的过程中读取的是二进制图像数据库文件,而不是图像文件,因此

在进行训练、测试之前需要将图像文件转换为二进制格式。

下面是我在ubuntu中使用python+OpenCV读取图像并转换为二进制格式文件的代码。

#coding=utf-8
'''
Created on 2016年3月24日
使用Opencv读取图像将其保存为二进制格式文件,再读取该二进制文件,转换为图像进行显示
@author: hanchao
'''
import cv2
import numpy as np
import struct

image = cv2.imread("test.jpg")
#imageClone = np.zeros((image.shape[0],image.shape[1],1),np.uint8)

#image.shape[0]为rows
#image.shape[1]为cols
#image.shape[2]为channels
#image.shape = (480,640,3)
rows = image.shape[0]
cols = image.shape[1]
channels = image.shape[2]
#把图像转换为二进制文件
#python写二进制文件,f = open('name','wb')
#只有wb才是写二进制文件
fileSave = open('patch.bin','wb')
for step in range(0,rows):
  for step2 in range(0,cols):
    fileSave.write(image[step,step2,2])
for step in range(0,rows):
  for step2 in range(0,cols):
    fileSave.write(image[step,step2,1])
for step in range(0,rows):
  for step2 in range(0,cols):
    fileSave.write(image[step,step2,0])
fileSave.close()
    
#把二进制转换为图像并显示
#python读取二进制文件,用rb
#f.read(n)中n是需要读取的字节数,读取后需要进行解码,使用struct.unpack("B",fileReader.read(1))函数
#其中“B”为无符号整数,占一个字节,“b”为有符号整数,占1个字节
#“c”为char类型,占一个字节
#“i”为int类型,占四个字节,I为有符号整形,占4个字节
#“h”、“H”为short类型,占四个字节,分别对应有符号、无符号
#“l”、“L”为long类型,占四个字节,分别对应有符号、无符号
fileReader = open('patch.bin','rb')
imageRead = np.zeros(image.shape,np.uint8)
for step in range(0,rows):
  for step2 in range(0,cols):
    a = struct.unpack("B",fileReader.read(1))
    imageRead[step,step2,2] = a[0]
for step in range(0,rows):
  for step2 in range(0,cols):
    a = struct.unpack("b",fileReader.read(1))
    imageRead[step,step2,1] = a[0]
for step in range(0,rows):
  for step2 in range(0,cols):
    a = struct.unpack("b",fileReader.read(1))
    imageRead[step,step2,0] = a[0]
    
fileReader.close()
cv2.imshow("source",image)
cv2.imshow("read",imageRead)
cv2.waitKey(0)

以上这篇Python+OpenCV实现将图像转换为二进制格式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
11个并不被常用但对开发非常有帮助的Python库
Mar 31 Python
Python时间的精准正则匹配方法分析
Aug 17 Python
人机交互程序 python实现人机对话
Nov 14 Python
flask-socketio实现WebSocket的方法
Jul 31 Python
Python访问MongoDB,并且转换成Dataframe的方法
Oct 15 Python
对python修改xml文件的节点值方法详解
Dec 24 Python
Python字典的核心底层原理讲解
Jan 24 Python
anaconda如何查看并管理python环境
Jul 05 Python
利用Python实现Shp格式向GeoJSON的转换方法
Jul 09 Python
python 实现从高分辨图像上抠取图像块
Jan 02 Python
python 爬虫网页登陆的简单实现
Nov 30 Python
Django如何创作一个简单的最小程序
May 12 Python
如何使用Python破解ZIP或RAR压缩文件密码
Jan 09 #Python
python读取raw binary图片并提取统计信息的实例
Jan 09 #Python
Flask 上传自定义头像的实例详解
Jan 09 #Python
flask 实现上传图片并缩放作为头像的例子
Jan 09 #Python
python中如何使用insert函数
Jan 09 #Python
Python Pillow.Image 图像保存和参数选择方式
Jan 09 #Python
python 解决flask 图片在线浏览或者直接下载的问题
Jan 09 #Python
You might like
关于文本留言本的分页代码
2006/10/09 PHP
php中文字符截取防乱码
2008/03/28 PHP
PHP遍历数组的几种方法
2012/03/22 PHP
基于Zend的Captcha机制的应用
2013/05/02 PHP
CURL状态码列表(详细)
2013/06/27 PHP
PHP回溯法解决0-1背包问题实例分析
2015/03/23 PHP
Zend Framework框架路由机制代码分析
2016/03/22 PHP
Nigma vs Alliance BO5 第四场2.14
2021/03/10 DOTA
JS代码格式化和语法着色V2
2006/10/14 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
JQuery获取文本框中字符长度的代码
2011/09/29 Javascript
关于锚点跳转及jQuery下相关操作与插件
2012/10/01 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
2015/12/16 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
angularjs实现table增加tr的方法
2018/02/27 Javascript
解决linux下node.js全局模块找不到的问题
2018/05/15 Javascript
JSON基本语法及与JavaScript的异同实例分析
2019/01/04 Javascript
详解VUE前端按钮权限控制
2019/04/26 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
2019/05/10 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
vue-cli4.x创建企业级项目的方法步骤
2020/06/18 Javascript
Python模拟百度登录实例详解
2016/01/20 Python
PyQt5每天必学之像素图控件QPixmap
2018/04/19 Python
python多线程与多进程及其区别详解
2019/08/08 Python
详解Flask前后端分离项目案例
2020/07/24 Python
python自动打开浏览器下载zip并提取内容写入excel
2021/01/04 Python
全球最大的跑步用品商店:Road Runner Sports
2016/09/11 全球购物
英国布鲁姆精品店:Bloom Boutique
2018/03/01 全球购物
县优秀教师事迹材料
2014/01/31 职场文书
租赁意向书范本
2014/04/01 职场文书
党员志愿者活动总结
2014/06/26 职场文书
抗震救灾标语
2014/06/26 职场文书
2014学校领导四风对照检查材料思想汇报
2014/09/23 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
适合毕业生创业的项目怎么找?
2019/08/08 职场文书
用PYTHON去计算88键钢琴的琴键频率和音高
2022/04/10 Python