zoukankan      html  css  js  c++  java
  • Python cv2 OpenCV 中传统图片格式与 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.b64encode(f.read())  
    # 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])
    

      

  • 相关阅读:
    JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
    JavaScript使用DeviceOne开发实战(三)仿微信应用
    JavaScript使用DeviceOne开发实战(二) 生成调试安装包
    生成器
    Python第一周的复习
    Ubuntu学习—-——第一课
    英 语 缩 写 (四)
    英语缩写(三)
    英语常用缩写(二)
    英语常用缩写(一)
  • 原文地址:https://www.cnblogs.com/pythonClub/p/10497994.html
Copyright © 2011-2022 走看看