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列表去重的二种方法
Feb 14 Python
Python的socket模块源码中的一些实现要点分析
Jun 06 Python
Python 备份程序代码实现
Mar 06 Python
遗传算法之Python实现代码
Oct 10 Python
深入理解Python分布式爬虫原理
Nov 23 Python
Python tkinter的grid布局及Text动态显示方法
Oct 11 Python
python爬取网易云音乐评论
Nov 16 Python
Python实现使用request模块下载图片demo示例
May 24 Python
对Python中画图时候的线类型详解
Jul 07 Python
详解基于python-django框架的支付宝支付案例
Sep 23 Python
Scrapy框架基本命令与settings.py设置
Feb 06 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
Feb 26 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
一个简单的MySQL数据浏览器
2006/10/09 PHP
Wordpress php 分页代码
2009/10/21 PHP
php Smarty初体验二 获取配置信息
2011/08/08 PHP
php 利用array_slice函数获取随机数组或前几条数据
2015/09/30 PHP
使用PHP实现微信摇一摇周边红包
2016/01/04 PHP
WordPress开发中用于标题显示的相关函数使用解析
2016/01/07 PHP
windows环境下使用Composer安装ThinkPHP5
2018/05/18 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
jQuery中ready事件用法实例
2015/01/19 Javascript
Node.js connect ECONNREFUSED错误解决办法
2016/09/15 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
JavaScript查看代码运行效率console.time()与console.timeEnd()用法
2019/01/18 Javascript
python编程实现归并排序
2017/04/14 Python
利用Python实现微信找房机器人实例教程
2019/03/10 Python
python写日志文件操作类与应用示例
2019/07/01 Python
详解python os.path.exists判断文件或文件夹是否存在
2020/11/16 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
2020/12/31 Python
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
Linux机考试题
2015/10/16 面试题
门诊挂号室室长岗位职责
2013/11/27 职场文书
面试后感谢信
2014/02/01 职场文书
村长贪污检举信
2014/04/04 职场文书
《庐山的云雾》教学反思
2014/04/22 职场文书
法院先进个人事迹材料
2014/05/04 职场文书
大跃进口号
2014/06/16 职场文书
2014党委书记四风对照检查材料思想汇报
2014/09/21 职场文书
2014年公务员工作总结
2014/11/18 职场文书
我们的节日端午节活动总结
2015/02/11 职场文书
卖车协议书范文
2016/03/23 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书
html5移动端禁止长按图片保存的实现
2021/04/20 HTML / CSS
用python批量解压带密码的压缩包
2021/05/31 Python
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python