Python 图片转数组,二进制互转

【python中级】二进制的字节码图像数据转化为图像数组 接口1numpy.frombuffer(buffer,dtype=float,count=-1,offset=0)本博客介绍如何将字节码,形如b’\xff\xd8\…\x94\x1f\xff\xd9’转化为图片数组。接口2imdecode(buf,flags)从指定的内存缓存中读取数据,并把数据转换(解码)成图像格式;本博客非常适用从网络请求的图片二进制字节码转化为图片数据。即opencv处理的图片数据是numpy图片数组。通过open读取图片文件,转为图片数组,然后显示。... 阅读详情

前言

需要导入以下包,没有的通过pip安装

import matplotlib.pyplot as plt
import cv2
from PIL import Image
from io import BytesIO
import numpy as np

1.图片和数组互转

# 图片转numpy数组
img_path = "images/1.jpg"
img_data = cv2.imread(img_path)

# numpy数组转图片
img_data = np.linspace(0,255,100*100*3).reshape(100,100,-1).astype(np.uint8)
cv2.imwrite("img.jpg",img_data) # 在当前目录下会生成一张img.jpg的图片

2.图片和二进制格式互转

# 以 二进制方式 进行图片读取
with open("img.jpg","rb") as f:
	img_bin = f.read() # 内容读取

# 将 图片的二进制内容 转成 真实图片
with open("img.jpg","wb") as f:
    f.write(img_bin) # img_bin里面保存着 以二进制方式读取的图片内容,当前目录会生成一张img.jpg的图片

3.数组 和 图片二进制数据互转

"""
以上两种方式"合作"也可以实现,但是中间会有对外存的读写
一般这些到磁盘的IO操作还是很耗时间的
所以在内存直接处理会较好
"""

# 将数组转成 图片的二进制数据
img_data = np.linspace(0,255,100*100*3).reshape(100,100,-1).astype(np.uint8)
ret,buf = cv2.imencode(".jpg",img_data)
img_bin = Image.fromarray(np.uint8(buf)).tobytes()

# 将图片二进制数据 转为数组
img_data = plt.imread(BytesIO(img_bin),"jpg")
print(type(img_data))
print(img_data.shape)

"""
out:
<class 'numpy.ndarray'>
(100, 100, 3)
"""

或许还有别的方式也能实现 图片二进制数据 和 数组的转换,不足之处希望大家指出

【新能源汽车测试工程师必看!DBC文件50条实战技巧,看懂这篇直接封神】 如果你是新能源汽车研发/测试工程师,还在为信号解析错误、报文找不到、DBC看不懂、实车故障复现不了头疼——那这篇文章,你一定要!在整车电控开发里,DBC = CAN总线的官方字典。没有DBC,报文就是一串乱码;读不懂DBC,测试寸步难行;用不好DBC,排查故障全靠猜。本文总结50条全网最实用、最贴近实车、最能解决问题的DBC技巧,从基础语法到新能源专用信号,从工具操作到故障排错,全部来自一线台架、实车、高压平台实战经验。不废话、不空谈、不玄学,全是能直接落地的硬货! 阅读详情

相关推荐

多机器人协同:水下机器人集群的分布式控制与ROS仿真实践

本文探讨了多自主水下机器人(AUV)集群的分布式控制方法,重点分析了欠驱动6自由度AUV模型的反馈线性化技术。通过ROS/Gazebo仿真平台,详细介绍了系统架构设计、通信延迟补偿策略及环境扰动应对方案,为水下协同作业提供实用参考。

jupi8的博客 687

【AI白身境】学AI必备的python基础

今天是新专栏《AI白身境》的第三篇,所谓白身,就是什么都不会,还没有进入角色。上一篇给大家介绍了如何正确使用Linux,如何利用shell,vim,git这三大神器。相信...

hacker_long的专栏 598

一文详解Stata重复测量方差分析的概念、原理、适用情形以及操作命令实现、对结果的解读、操作注意事项 附零基础小白友好入门Stata统计学/计量经济学学习路径

重复测量方差分析(Repeated Measures ANOVA)适用于同一受试者在不同时间点或条件下的多次测量数据,如疗效跟踪和跨条件对比研究。其核心特征包括:数据结构为每个受试者多个观测值,数据具有相关性(违反独立性假设),变异分解为个体间和个体内变异。关键假设包括正态性、方差齐性和球形性(通过Mauchly检验验证)。适用场景包括纵向研究和小样本追踪,但不适用于存在滞留效应或学习效应显著的数据。操作步骤涉及数据准备(宽/长格式转换)、正态性与球形性检验、主分析命令(单/多因素)及事后检验。

m0_72274883的博客 1565

Python实现图片与数组的转化

链接:https://blog.youkuaiyun.com/code_better/article/details/53242943 作者:石炜贤&amp;曾翔钰 cifar-10这个数据相信很多接触过机器学习的人都肯定有所了解。今天,我们通过cifar-10存储将图片转化为可训练数据的思路将我们自己的图片转化为Python格式的数据。 本篇文章主要实现两个功能:  ①图片转化为数组并存为二进制文件;...

srf_code的博客 3693

2023电赛B题实战解析:基于立创天空星开发板的同轴线缆长度与负载测量系统

本文详细解析了2023年全国大学生电子设计竞赛B题的实战方案,重点介绍了基于立创EDA天空星开发板(STM32F103)的同轴线缆长度与负载测量系统。文章深入剖析了两种核心测量方案,并推荐了更稳定易实现的NE555测电容法,提供了从硬件选型、电路设计到软件编程、参数标定的完整“施工图”,实测精度可达厘米级和皮法级,为电赛复现与高精度测量学习提供了清晰指导。

weixin_36303305的博客 231

【nnUNetv2进阶】四、nnUNetv2 魔改网络-小试牛刀-加入注意力机制ChannelAttention

本文介绍了在nnunet中加入ChannelAttention的方法,按照本文教的教程,可以快速完成ChannelAttention的加入和自定义模型的跑通。

AI爱好者的博客,分享计算机领域相关知识 5800

PIL.JpegImagePlugin.JpegImageFile与numpy.ndarray格式转换

文章目录PIL.JpegImagePlugin.JpegImageFile与numpy.ndarray格式转换PIL.JpegImagePlugin.JpegImageFile转换成numpy.ndarraynumpy.ndarray转换成PIL.JpegImagePlugin.JpegImageFile PIL.JpegImagePlugin.JpegImageFile与numpy.ndarray格式转换 PIL.JpegImagePlugin.JpegImageFile转换成numpy.ndarray

零碎@流年絮语 的博客 6302

Qt 调用YOLO模型(代码)

本文介绍了如何在 Qt C++ 环境中集成 YOLO 模型进行目标检测,包括模型封装、界面设计和实时处理等关键步骤。通过这种方法,你可以快速开发出具有目标检测功能的 Qt 应用程序,应用于监控系统、机器人视觉、图像分析等多个领域。

轩宇的博客 259

c语言.jpg图片转成数组_Numpy 脑洞玩法之图片切割拼接

(给Python开发者加星标,提升Python技能)来源:诡途https://blog.youkuaiyun.com/qq_35866846/article/details/105389738视频资料:https://tv.sohu.com/v/dXMvMzM1OTQyMDI2LzExMzQxMDY1MS5zaHRtbA==.html视频的内容介绍:一张照片,横着切成若干条,并且没有打乱,随后隔条分...

weixin_39522927的博客 503

CATIA二次开发一一一获取属性的几种方法

这些方法覆盖了CATIA CAA开发中属性操作的典型场景,开发者可通过类型判断实现递归遍历、跨文档关联等复杂逻辑。此方法用于遍历对象的所有属性,获取属性键后可通过类型判断选择后续处理方式。适用于处理嵌套对象或关联对象的场景(如几何特征关联制造特征)。适用于简单属性值的直接读取(如版本号、状态标识等)。用于处理多值属性(如多选参数、装配体子件列表等)。用于处理跨文档引用(如零件关联图纸文件)。

工业软件开发 431

高通平台蓝牙学习-- 基于WCN6750 Bluetooth 5.2的讲解

摘要:蓝牙5.2解决方案WCN6750具备多项先进特性:完全兼容5.2标准及ANT+协议,支持2Mbps高速BLE和长距离传输;采用射频集成方案,与WLAN共享天线并支持5G并发;内置功率放大器,支持Class1/2传输;提供双音频流和Slimbus接口优化。其HCI UART接口支持3.2Mbps速率,通过BlueZ协议栈实现蓝牙5.2功能,包括2Mbps模式和长距离传输,符合核心规范要求。(149字)

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 3万+

python读取二进制图片_Python读入mnist二进制图像文件并显示实例

图像文件是自己仿照mnist格式制作,每张图像大小为128*128import structimport matplotlib.pyplot as pltimport numpy as np#读入整个训练数据集图像filename = 'train-images-idx3-ubyte'binfile = open(filename, 'rb')buf = binfile.read()#读取头四个3...

weixin_39531582的博客 425

【系统架构设计师】预测试卷十:综合知识(75道选择题)

本文包含75道选择题,覆盖计算机系统、操作系统、网络、数据库、软件工程等核心知识域,其中系统架构设计与评估占比最高(19题)。题目难度稍高,注重灵活应用,题干全新且不与前8套重复。部分典型题目解析包括:计算机性能比较(CPU时间公式TLB/页表机制)、Cache写策略、流水线分支惩罚、管程条件变量、LRU近似算法、自旋锁适用场景、TCP字节流特性、Anycast应用、MVCC机制、分布式事务选型等。答案详解强调易错点,如性能比较需综合计算、TLB缺失不等于缺页、

数据知道的博客 478

python读取图片文件显示_Python读入mnist二进制图像文件并显示实例

图像文件是自己仿照mnist格式制作,每张图像大小为128*128import structimport matplotlib.pyplot as pltimport numpy as np#读入整个训练数据集图像filename = 'train-images-idx3-ubyte'binfile = open(filename, 'rb')buf = binfile.read()#读取头四个3...

weixin_39843338的博客 527

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python 图片 数组到二进制的互相转换

本文转自这里 需要导入以下包,没有的通过pip安装 import matplotlib.pyplot as plt import cv2 from PIL import Image from io import BytesIO import numpy as np 1.图片和数组互转 # 图片转numpy数组 img_path = "images/1.jpg" img_data = cv2.i...

chenpe32cp的博客 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

python将图片转为二进制_python 图片 数组到二进制的互相转换

需要导入以下包,没有的通过pip安装import matplotlib.pyplot as pltimport cv2from PIL import Imagefrom io import BytesIOimport numpy as np1.图片和数组互转# 图片转numpy数组img_path = "images/1.jpg"img_data = cv2.imread(img_path)# n...

weixin_39831991的博客 6487

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

vue二进制转图片显示问题 后端返回的是byte[]数组

1、二进制转图片显示问题 代码 lookPreview(this.previewID).then(response => { this.previewUrl = "data:image/jpeg;base64," + response.data; this.previewList.push(this.previewUrl); th...

此去经年的博客 5561

数组,图片,二进制数据互转

数组,图片,二进制数据互转

路在脚下 7579

python二进制和图片转换

python二进制和图片转换 之前做项目,发现很多图片都是存储成二进制的形式,比如存储为.bin .dat等文件,如果你直接用记事本打开文件,会发现里面内容如下: 0005 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 000...

CoderWangSon 2万+

python 图片 数组到二进制的互相转换

需要导入以下包,没有的通过pip安装 import matplotlib.pyplot as plt import cv2 from PIL import Image from io import BytesIO import numpy as np 1.图片和数组互转 # 图片转numpy数组 img_path = "images/1.jpg" img_data = cv2.imread(im...

lance666的博客 2163

【图片转base64格式、numpy图片转base64相关知识方法】

原因是要将图片转为base64编码需要先将图片转为二进制格式,再把二进制格式的图片转换为base64。

qq_44579371的博客 2976

python 图片和二进制转换的三种方式

PIL格式转二进制 先读取为PIL格式,再转为二进制 import io import base64 from PIL import Image def image2byte(image): ''' 图片转byte image: 必须是PIL格式 image_bytes: 二进制 ''' # 创建一个字节流管道 img_bytes = io.BytesIO() # 将图片数据存入字节流管道, format可以按照具体文件的格式填写 i

weixin_37763340的博客 1万+

python 图片与二进制之间的转换

python 图片和二进制转换的三种方式

yilvyangguang520的博客 8294

base64 转二进制_python用base64库进行图片与字符串的转换

# encoding:utf-8 import matplotlib.pyplot as plt import cv2 from io import BytesIO import base64 # 二进制读取图片,再将图片转为 base64 类型的字符串 with open('coin.jpg', 'rb') as fin: #第一个参数为图片全路径或相对路径 print('二进制类...

weixin_39662228的博客 1432

python 图片和base64互转的三种方式

通过cv2进行转换 import cv2 import base64 import numpy as np def img_to_base64(img_array): # 传入图片为RGB格式numpy矩阵,传出的base64也是通过RGB的编码 img_array = cv2.cvtColor(img_array, cv2.COLOR_RGB2BGR) #RGB2BGR,用于cv2编码 encode_image = cv2.imencode(".jpg", img_array)[

weixin_37763340的博客 2万+

python 中图片的数组格式到二进制的互相转换

python 图片 数组到二进制的互相转换 需要导入以下包,没有的通过pip安装 import matplotlib.pyplot as plt import cv2 from PIL import Image from io import BytesIO import numpy as np 1.图片和数组互转 # 图片转numpy数组 img_path = "images/1.jpg" img_data = cv2.imread(img_path) # numpy数组转图片 img_data.

公子清羽的博客 1035
上一篇: STM32通用定时器使用详解
下一篇: Python实现网页端显示摄像头拍摄视频
布鲁格若门
博客等级 码龄9年 431粉丝 43原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

布鲁格若门

对你有用的话真是太好了

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值