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 相关文章推荐
python自带的http模块详解
Nov 06 Python
TensorFlow高效读取数据的方法示例
Feb 06 Python
numpy 进行数组拼接,分别在行和列上合并的实例
May 08 Python
python基于递归解决背包问题详解
Jul 03 Python
Python代码实现http/https代理服务器的脚本
Aug 12 Python
python框架flask表单实现详解
Nov 04 Python
Python算法的时间复杂度和空间复杂度(实例解析)
Nov 19 Python
Python解释器及PyCharm工具安装过程
Feb 26 Python
浅析Python 条件控制语句
Jul 15 Python
vscode配置anaconda3的方法步骤
Aug 08 Python
python字典与json转换的方法总结
Dec 28 Python
Python关于拓扑排序知识点讲解
Jan 04 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
简单的cookie计数器实现源码
2013/06/07 PHP
JavaScript语言中的Literal Syntax特性分析
2007/03/08 Javascript
csdn 批量接受好友邀请
2009/02/19 Javascript
jQuery 白痴级入门教程
2009/11/11 Javascript
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
2010/03/16 Javascript
javascript学习笔记(七)利用javascript来创建和存储cookie
2011/04/08 Javascript
js获取事件源及触发该事件的对象
2013/10/24 Javascript
JS实现闪动的title消息提醒效果
2014/06/20 Javascript
node.js中的fs.rmdir方法使用说明
2014/12/16 Javascript
APP中javascript+css3实现下拉刷新效果
2016/01/27 Javascript
JavaScript实现页面定时刷新(定时器,meta)
2016/10/12 Javascript
详解ES6中的let命令
2020/04/05 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
2017/03/03 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
2017/03/28 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
深入理解vue Render函数
2017/07/19 Javascript
angular写一个列表的选择全选交互组件的示例
2018/01/22 Javascript
解决betterScroll在vue中存在图片时,出现拉不动的问题
2018/09/27 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
小程序中canvas的drawImage方法参数使用详解
2019/07/04 Javascript
JS数组方法shift()、unshift()用法实例分析
2020/01/18 Javascript
nodejs实现的http、https 请求封装操作示例
2020/02/06 NodeJs
js实现验证码功能
2020/07/24 Javascript
python字符串的方法与操作大全
2018/01/30 Python
python 处理dataframe中的时间字段方法
2018/04/10 Python
python散点图实例之随机漫步
2018/08/27 Python
python ftp 按目录结构上传下载的实现代码
2018/09/12 Python
Python爬虫之urllib基础用法教程
2019/10/12 Python
关于Python错误重试方法总结
2021/01/03 Python
西班牙拥有最佳品牌的动物商店:Animalear.com
2018/01/05 全球购物
苏格兰销售女装、男装和童装的连锁店:M&Co
2018/03/16 全球购物
德国圣伯纳德草药屋:Kräuterhaus Sanct Bernhard(有中文站)
2018/08/05 全球购物
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
院领导写的就业推荐信
2014/03/09 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书
2014年安全员工作总结
2014/11/13 职场文书