Pythoncv2OpenCV中传统图⽚格式与base64转换
Base64是⽹络上最常见的⽤于传输8Bit字节码的编码⽅式之⼀,是⼀种基于64个可打印字符来表⽰⼆进制数据的⽅法。通过http传输图⽚常常将图⽚数据转换成base64之后再进⾏传输。
Base64简介
Base64是⽹络上最常见的⽤于传输8Bit字节码的编码⽅式之⼀,Base64就是⼀种基于64个可打印字符来表⽰⼆进制数据的⽅法。可查看RFC2045~RFC2049,上⾯有MIME的详细规范。
Base64编码是从⼆进制到字符的过程,可⽤于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采⽤了Base64来将⼀个较长的唯⼀标识符(⼀般为128-bit的UUID)编码为⼀个字符串,⽤作HTTP表单和HTTP GET URL中的参数。在其他应⽤程序中,也常常需要把⼆进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采⽤Base64编码具有不可读性,需要解码后才能阅读。
Python中将图⽚转base64
# -*- coding: utf-8 -*-
import base64
with open("/home/chaowei/1.png","rb") as f:
# b64encode是编码,b64decode是解码
base64_data = base64.ad())
# base64.b64decode(base64data)
print(base64_data)
在前端html中调⽤base64编码
<img src="data:image/jpg;base64,这⾥是base64的编码"/>
另外,有很多⽹站提供转换API,在线编码解码
在线二进制转换
Base64在线编码解码
Python中将base64转为opencv的Mat格式
import cv2
import base64
imgData = base64.b64decode(base64_data)
nparr = np.fromstring(imgData, np.uint8)
img_np = cv2.imdecode(nparr, cv2.IMREAD_COLOR)
#cv2.imshow("test",img_np)
#cv2.waitKey(0)
Python中将opencv的Mat格式转为base64
import cv2
import base64
imgData = base64.b64decode(base64_data)
nparr = np.fromstring(imgData, np.uint8)
img_np = cv2.imdecode(nparr, cv2.IMREAD_COLOR)
image = cv2.imencode('.jpg', img_np)[1]
base64_data = str(base64.b64encode(image))[2:-1])

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。