python PIL/cv2/base64相互转换实例


Posted in Python onJanuary 09, 2020

PIL和cv2是python中两个常用的图像处理库,PIL一般是anaconda自带的,cv2是opencv的python版本。base64在网络传输图片的时候经常用到。

##PIL读取、保存图片方法
from PIL import Image
img = Image.open(img_path)
img.save(img_path2)
 
 
##cv2读取、保存图片方法
import cv2
img = cv2.imread(img_path)
cv2.imwrite(img_path2, img)
 
 
##图片文件打开为base64
import base64
 
def img_base64(img_path):
  with open(img_path,"rb") as f:
    base64_str = base64.b64encode(f.read())
  return base64_str

1、PIL和cv2转换

##PIL转cv2
import cv2
from PIL import Image
import numpy as np
 
def pil_cv2(img_path):
  image = Image.open(img_path)
  img = cv2.cvtColor(np.asarray(image),cv2.COLOR_RGB2BGR)
  return img
 
 
##cv2转PIL
import cv2
from PIL import Image
 
def cv2_pil(img_path):
  image = cv2.imread(img_path)
  image = Image.fromarray(cv2.cvtColor(image,cv2.COLOR_BGR2RGB))
  return image

2、PIL和base64转换

##PIL转base64
import base64
from io import BytesIO
 
def pil_base64(image):
  img_buffer = BytesIO()
  image.save(img_buffer, format='JPEG')
  byte_data = img_buffer.getvalue()
  base64_str = base64.b64encode(byte_data)
  return base64_str
 
 
##base64转PIL
import base64
from io import BytesIO
from PIL import Image
 
def base64_pil(base64_str):
  image = base64.b64decode(base64_str)
  image = BytesIO(image)
  image = Image.open(image)
  return image

3、cv2和base64转换

##cv2转base64
import cv2
 
def cv2_base64(image):
  base64_str = cv2.imencode('.jpg',image)[1].tostring()
  base64_str = base64.b64encode(base64_str)
  return base64_str 
 
 
##base64转cv2
import base64
import numpy as np
import cv2
 
def base64_cv2(base64_str):
  imgString = base64.b64decode(base64_str)
  nparr = np.fromstring(imgString,np.uint8) 
  image = cv2.imdecode(nparr,cv2.IMREAD_COLOR)
  return image

以上这篇python PIL/cv2/base64相互转换实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python Deque 模块使用详解
Jul 04 Python
搭建Python的Django框架环境并建立和运行第一个App的教程
Jul 02 Python
Django ORM框架的定时任务如何使用详解
Oct 19 Python
python3使用pandas获取股票数据的方法
Dec 22 Python
django多文件上传,form提交,多对多外键保存的实例
Aug 06 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
Aug 12 Python
TensorFlow实现指数衰减学习率的方法
Feb 05 Python
Python 使用Opencv实现目标检测与识别的示例代码
Sep 08 Python
python文件路径操作方法总结
Dec 21 Python
Python爬虫分析微博热搜关键词的实现代码
Feb 22 Python
Python django中如何使用restful框架
Jun 23 Python
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
Apr 24 Python
Python&&GDAL实现NDVI的计算方式
Jan 09 #Python
Python-numpy实现灰度图像的分块和合并方式
Jan 09 #Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
Jan 09 #Python
使用PyTorch训练一个图像分类器实例
Jan 08 #Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
Jan 08 #Python
pytorch下大型数据集(大型图片)的导入方式
Jan 08 #Python
Python 实现训练集、测试集随机划分
Jan 08 #Python
You might like
老版本PHP转义Json里的特殊字符的函数
2015/06/08 PHP
yii2控制器Controller Ajax操作示例
2016/07/23 PHP
Yii框架Session与Cookie使用方法示例
2019/10/14 PHP
PHP中的异常处理机制深入讲解
2020/11/10 PHP
jQuery帮助之筛选查找 children([expr])
2011/01/31 Javascript
js动态修改input输入框的type属性(实现方法解析)
2013/11/13 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
2014/01/09 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
2015/08/04 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
ionic实现底部分享功能
2017/05/11 Javascript
基于Axios 常用的请求方法别名(详解)
2018/03/13 Javascript
vue.js template模板的使用(仿饿了么布局)
2018/08/13 Javascript
解决vuejs 使用value in list 循环遍历数组出现警告的问题
2018/09/26 Javascript
JS数组实现分类统计实例代码
2018/09/30 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能
2019/07/20 Javascript
微信小程序swiper组件实现抖音翻页切换视频功能的实例代码
2020/06/24 Javascript
[02:47]DOTA2亚洲邀请赛 HR战队出场宣传片
2015/02/07 DOTA
Python使用新浪微博API发送微博的例子
2014/04/10 Python
Python实现快速傅里叶变换的方法(FFT)
2018/07/21 Python
Python ATM功能实现代码实例
2020/03/19 Python
瑞典领先的汽车零部件网上零售商:bildelaronline24.se
2017/01/12 全球购物
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
全球500多个机场的接送服务:Suntransfers
2019/06/03 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
成都思必达公司C#程序员招聘面试题
2013/06/26 面试题
打架检讨书800字
2014/01/10 职场文书
化工操作工岗位职责
2014/04/29 职场文书
2014红色之旅心得体会
2014/10/07 职场文书
鲁迅故居导游词
2015/02/05 职场文书
2016教师校本研修心得体会
2016/01/08 职场文书
六年级情感作文之500字
2019/10/23 职场文书
python爬虫selenium模块详解
2021/03/30 Python
SQLServer之常用函数总结详解
2021/08/30 SQL Server