Numpy数组的序列化和反序列化

2023-11-01

在处理图像数据时,有这么一种需求:图像通常是一个矩阵数据,需要将矩阵数据通过base64编码传输,传输完毕之后解码还原得到原来的矩阵数据。

 

import numpy as np

import base64

 

matrix_data=[[1,2,3,4],[5,6,7,8]]

 

np_matrix_data = np.asarray(matrix_data)

print "origin matrix:",np_matrix_data

print "origin matrix shape:",np_matrix_data.shape

print "origin matrix data type:",np_matrix_data.dtype

 

data_type = np_matrix_data.dtype

data_shape = np_matrix_data.shape

 

print "b64 encode data"

b64_data =  base64.urlsafe_b64encode(np_matrix_data.tobytes())

 

#transfer data

print "transfer data"

 

print "b64 decode data"

decode_b64_data = base64.urlsafe_b64decode(b64_data)

 

np_data = np.frombuffer(decode_b64_data, dtype=data_type)

print "data to np:",np_data

 

np_data = np_data.reshape(data_shape)

print "data reshape:",np_data

 

 

注意点:

1 保证数据类型和shape前后一致;

2 tobytes和reshape两者同时有个默认参数order='C'

 

 

参考:

https://codeday.me/bug/20190627/1303298.html

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Numpy数组的序列化和反序列化 的相关文章

随机推荐

  • linux下 tomcat 日志文件过大_Linux个性化日志文件上色 tail 颜色

    Linux个性化日志文件上色 tail 颜色 ccze是一个很好的工具 它为阅读或搜索日志文件的艰巨任务带来了真正的乐趣 它使用模块化的方法来支持流行的应用程序 如Apache Postfix Exim等的自定义颜色格式 在CentOS和F
  • 软件工程期末考试题库(超全)

    文章目录 软件工程期末考试题库 选择题 填空题 判断题 简答题 画图题 软件工程期末考试题库 选择题 具有风险分析的软件生命周期模型是 C A 瀑布模型 B 喷泉模型 C 螺旋模型 D 增量模型 软件工程的基本要素包括方法 工具和 A A
  • 解决手动跳转页面,element菜单未高亮

    主要是通过修改activeIndex来进行高亮选中
  • QML树控件TreeView的使用(上)

    在Qt5 5之前是没有树控件的 我们在使用时用的是ListView来构造出一个树 Qt5 5之后的QML开发阶段 有了树控件TreeView 本篇着重记录QML的TreeView的使用 根据MVC分解文件 类 如下 TreeControll
  • Q数的定义

    1 Q数的定义 对于16位的DSP而言 Q数定义共有16种 其简化写法分别是Q15 Q14 Q13到Q0 其数学含义可以 在其标准定义中确定 分别是Q1 15 Q2 14 Q3 13到Q16 0即标准形式为 Qn m 其数学意义是Q数的最大
  • 【抓包分析tcp协议】

    一 七层网络模型与常见协议 二 协议分析工具 1 网络监听 TcpDump WireShark 适用偏底层的协议分析 2 代理Proxy 适用偏高层的协议分析 如http 推荐工具 手工测试charles 全平台 安全测试burpsuite
  • Proxy error: Could not proxy request 解决方法

    问题本质是代理失败 常见原因 1 后端相应的被代理服务器没有开启 2 代理规则写错 前后端部署的域名应一致 3 没有把vue config js中的 before require mock mock server js 注释掉 导致走代理前
  • linux-select函数详解

    写在前面 主要是参考下边的两篇文章 对文章的内容做了一些记录 使用背景 select是实现IO多路复用的一种方式 典型场景是网络多并发服务器 服务器需要和多个客户端保持连接 相关源码可参考参考中的第二篇文章 IO多路复用概念参考第三篇文章
  • ISOWEEK的算法

    算ISOWEEK的时候 通常是以 该日的所属周数 1 该年的1 4所属周数 但也有特殊的情况 case1 可能当年的一月1号到3号是属于前年的 case2 可能前年12月29到31号是属于下一年的 SQL的算法 CREATE FUNCTIO
  • 开源自动扫描工具OpenSCAP介绍

    OpenSCAP 是一个获得 SCAP 认证的免费开源的自动化扫描 基线核查 报告和自动修复工具 目前主要由 Redhat 进行维护 OpenSCAP 由工具和基线库两个部分组成 两者没有紧密的耦合关系 比如使用 http vuls io
  • 服务器ie安全增强关闭还是显示,如何关掉ie浏览器的增强安全配置

    在 Windows Sever 2012 中打开 IE 浏览器时 IE10 会出现 已启用 Internet Explorer 增强的安全配置 的提示信息 在安全性等级中会设置以 高安全性 如果我想要关闭 Internet Explorer
  • Anaconda系统配置、换源、环境隔离、pycharm环境配置一站式教程

    Anaconda配置一站式教程 欢迎访问我的博客sakura 绘梨衣 1 安装conda 这个下载 除了安装路径 无脑确定就行了 下载网址 Free Download Anaconda 选择安装系统直接下载 最好是不要安装在C盘 反对C盘战
  • Python对excel写入数据操作实例代码(只供参考)

    coding utf8 把buffer中的信息 写入到excel中 并按照要求 构造表格样式 导入readCSV模块 用来获取buffer数据 from readCSV import readCSV from readConfig impo
  • httpclient 工具类

    1 类 package com cainiao manage utils import org apache http HttpEntity import org apache http NameValuePair import org a
  • 类加载 器&反射

    一 类加载器 1 1类加载 1 2类加载器 理解 1 2 1类加载器的作用 1 2 2JVM的类加载机制 1 2 3Java中的内置类加载器 1 2 4ClassLoader 中的两个方法 二 反射 2 1反射的概述 理解 2 2获取Cla
  • 初学maven详细总结

    文章转载自 https www cnblogs com tzyy p 4768859 html 初学maven 简单总结一下学习心得 若有不对的地方 欢迎各位大神给我指正 总结分为6个部分 maven概述 maven安装 maven项目结构
  • Unity 动态修改宏定义

    宏定义可以方便的区分出不同情况下使用的代码 比较经典的就是 UNITY EDITOR 这类 if UNITY EDITOR Debug Log 当前是编辑器环境 else Debug Log 当前不是编辑器环境 endif 开发者同样可以自
  • 微调预训练模型huggingface,transformers

    首先加载Yelp Reviews数据集 from datasets import load dataset dataset load dataset yelp review full dataset train 100 如您现在所知 您需要
  • 怎么让Chrome浏览器支持小于12px的文字?

    Chrome浏览器默认字体大小是16px 每个浏览器默认字体大小可能不一样 0 8 10 8 px div font size 10px span display inline block webkit transform scale 0
  • Numpy数组的序列化和反序列化

    在处理图像数据时 有这么一种需求 图像通常是一个矩阵数据 需要将矩阵数据通过base64编码传输 传输完毕之后解码还原得到原来的矩阵数据 import numpy as np import base64 matrix data 1 2 3