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笔记:mysql、redis操作方法
Jun 28 Python
python 换位密码算法的实例详解
Jul 19 Python
Python使用getpass库读取密码的示例
Oct 10 Python
Python画柱状统计图操作示例【基于matplotlib库】
Jul 04 Python
Python 微信爬虫完整实例【单线程与多线程】
Jul 06 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
Jul 11 Python
详解Python 4.0 预计推出的新功能
Jul 26 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
Nov 26 Python
详细分析Python可变对象和不可变对象
Jul 09 Python
Python-split()函数实例用法讲解
Dec 18 Python
python 网络编程要点总结
Jun 18 Python
PyTorch中permute的使用方法
Apr 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
咖啡与水的关系
2021/03/03 冲泡冲煮
PHP定时执行计划任务的多种方法小结
2011/12/19 PHP
PHP安全性漫谈
2012/06/28 PHP
PHP正则获取页面所有图片地址
2016/03/23 PHP
PHP对XML内容进行修改和删除实例代码
2016/10/26 PHP
PHP插件PHPMailer发送邮件功能
2017/02/28 PHP
PHP单例模式简单用法示例
2017/06/23 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
PHP Swoole异步MySQL客户端实现方法示例
2019/10/24 PHP
laravel入门知识点整理
2020/09/15 PHP
JavaScript 事件记录使用说明
2009/10/20 Javascript
IE8 中使用加速器(Activities)
2010/05/14 Javascript
jQuery获取和设置表单元素的方法
2014/02/14 Javascript
jQuery插件jRumble实现网页元素抖动
2015/06/05 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
2015/08/15 Javascript
AngularJS基础教程之简单介绍
2015/09/27 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
2016/01/12 Javascript
浅析jquery数组删除指定元素的方法:grep()
2016/05/19 Javascript
Jquery通过ajax请求NodeJS返回json数据实例
2016/11/08 NodeJs
微信小程序 Toast自定义实例详解
2017/01/20 Javascript
JS简单生成随机数(随机密码)的方法
2017/05/11 Javascript
Vue.js仿微信聊天窗口展示组件功能
2017/08/11 Javascript
vue采用EventBus实现跨组件通信及注意事项小结
2018/06/14 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
nuxt+axios实现打包后动态修改请求地址的方法
2020/04/22 Javascript
JS实现鼠标移动拖尾
2020/12/27 Javascript
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
Python TKinter如何自动关闭主窗口
2020/02/26 Python
Python3 xml.etree.ElementTree支持的XPath语法详解
2020/03/06 Python
python中pickle模块浅析
2020/12/29 Python
2014年教师培训的自我评价
2014/01/03 职场文书
八年级语文教学反思
2014/02/11 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
消费者理赔投诉书
2015/07/02 职场文书
如何在Mac上通过docker配置PHP开发环境
2021/05/29 PHP
Python何绘制带有背景色块的折线图
2022/04/23 Python