首页 > 其他分享 >图片转base64,base64转图片,图片对象转图片字节,图片字节转图片对象

图片转base64,base64转图片,图片对象转图片字节,图片字节转图片对象

时间:2023-08-22 16:22:35浏览次数:31  
标签:字节 img image base64 output path 图片

demo

图片转base64

def image_to_base64(image_path):
    import base64
    with open(image_path, "rb") as image_file:
        image_data = image_file.read()
        base64_encoded = base64.b64encode(image_data).decode("utf-8")
        return base64_encoded

image_path = r"E:\Code\Python\yolov5py38\dataset\dog_and_cat\images\val\119.jpg"  # 替换为你的图片路径
base64_image = image_to_base64(image_path)
print(base64_image)

base64转图片

def base64_to_image(base64_data, output_path):
    image_data = base64.b64decode(base64_data)
    with open(output_path, "wb") as image_file:
        image_file.write(image_data)

base64_encoded_image = "base64_encoded_data_here"  # 替换为实际的Base64编码
output_path = "output_image.jpg"  # 替换为输出图片的路径和文件名

base64_to_image(base64_encoded_image, output_path)
print("Image saved:", output_path)

图片转换成图片字节

def image_to_bytes():
    from PIL import Image
    from io import BytesIO
    im = Image.open("img.png")
    new_img = im.convert("RGB")
    img_byte = BytesIO()
    new_img.save(img_byte, format='PNG') # format: PNG or JPEG
    binary_content = img_byte.getvalue()  # im对象转为二进制流

    print(binary_content)

image_to_bytes()

图片字节转换成image对象

from io import BytesIO
from PIL import Image


def bytes_to_image(img_byte):
    bytes_stream = BytesIO(img_byte)
    image = Image.open(bytes_stream)   # image对象
    image.save('output_image.jpg')  # 将图片保存到当前目录下的 output_image.jpg 文件中

with open('img.png', 'rb') as f:
    img_byte = f.read()   # 图片字节
    print(img_byte)

bytes_to_image(img_byte)
print("Image saved: output_image.jpg")

标签:字节,img,image,base64,output,path,图片
From: https://www.cnblogs.com/code3/p/17648838.html

相关文章

  • 使用ffmpeg将MP4文件的每一帧保存为jpg图片
    #include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<fcntl.h>#include<sys/ioctl.h>#include<string.h>#include<sys/mman.h>#include<assert.h>#include<liba......
  • ios开发之--从相机或相册选取图片,并带删除操作的demo
    多选图片的一个效果,如下图:附带有删除操作,比较方便!选取图片使用的是:ZYQAssetPickerController这个第三方类图片压缩用的是自己写的类别:UIImage+ImageSimple附一个demo的下载地址:https://github.com/hgl753951/changeTest.git具体代码就不上传了!可以直接从demo里面看!在此仅做记录用!作......
  • opencv加载内存中图片
           opencv从磁盘加载一张图片非常简单,通过cv::imread即可,代码如下:  cv::Matsrc_mat=cv::imread("1.jpg");//读取图片1.jpg,imread会将图片内容解码成yuv或rgb存放到Mat对象 cv::Matdst_mat=src_mat(cv::Rect(100,100,1600,900));//获取图......
  • OpenCV 读取内存图片
    方法一(适用于OpenCV3):     #include<opencv2/opencv.hpp> #include<opencv2/imgproc/imgproc_c.h> #include<iostream>   char*lpFileBuf=GetFileBuf("girl.bmp");   CvMatmCvm......
  • ios开发之--新手引导页图片适配方案
    1,图片适配,最早以前是自己命名规范,例如@1x,@2x,@3x等,3套图基本上就够用了2,在iPhoneX之后,需要适配的图就多了,因为分辨率增多了,屏幕尺寸也增多了3,尺寸:640*960,640*1136,750*1334,1242*2208,1125*24364,方案:a、判断,代码如下:#defineIS_IPHONE4([UIScreenmainScreen].bounds.size.height<56......
  • Luminar Neo mac(超强AI图片编辑器)
    LuminarNeoMac版是一款非常强大的图片编辑软件,LuminarNeomac是一款功能丰富的图片编辑软件,LuminarNeomac强大的AI技术可以让我们在处理照片时获得更好的效果。LuminarNeomac让你可以轻松编辑、调整图像,它可以让你处理所有照片。你还可以从内置的滤镜中选择适合的滤镜,使......
  • canvas实现图片加水印
    前言:有时候需要在一张图片上添加文字水印,形成新的图片,便于1vs多的分享。html中:<imgsrc=""alt=""id="newImg"/><canvasid="myCanvas"class="hidden"></canvas>js中:引入jquery.qrcode.min.js后functionImg(){//图片加......
  • 《深入浅出Java虚拟机 — JVM原理与实战》带你攻克技术盲区,夯实底层基础 —— 吃透cla
    前言介绍了解Java代码如何编译成字节码并在JVM上执行是非常重要的。这种理解可以帮助我们理解程序执行时发生的情况,确保语言特性符合逻辑,并在进行讨论时能够全面考虑各种因素和副作用。本文将深入探讨Java代码编译成字节码并在JVM上执行的过程。如果您对JVM的内部结构和字节码执行......
  • 基于业务需求的图片对比
    1"""21.先将文件夹内的图片进行遍历,获取所有文件名称,放到列表中。只需要获取一个文件夹内的名称即可,因为新旧文件夹内图片的名称都是一样的,只是截图时候的版本不同32.通过ssim将新旧文件夹内的图片进行对比,得到相似度评分,并将差异处进行框选43.将旧图、新图、对比......
  • 随记:记几个查看图片及其隐藏信息的命令
    记几个查看图片及其隐藏信息的命令:1.Exiftool:查看图片的元数据信息安装:apt-getinstallexiftool使用:exiftoolpicname 2.Steghide查看、合并或者分离图片中的信息安装:apt-getinstallsteghide使用:Echo"hello,world">1.txt   //准备一个待写入图片的文件Steghideembed......