栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python中opencv与PIL图片读取保存及相互转化

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python中opencv与PIL图片读取保存及相互转化

1. opencv读取显示图片
import cv2

img = cv2.imread('img.jpg')
cv2.imshow('img', img)  # 图片显示
cv2.waitKey()  # 括号内的输入控制imshow的持续时间

其中waitKey()表示等待用户按键,若不加这句,则图片显示一闪而过。
cv2读取的图片即img为numpy.ndarray,大小即为(w,h,c)。

2. PIL读取显示图片
from PIL import Image

image = Image.open("img.jpg")
image.show()

不需要waitKey(),图片会持续显示。image为PIL格式。

3. opencv与PIL相互转换
    PIL转opencv
import cv2
from PIL import Image
import numpy

image = Image.open("img.jpg")  # PIL读取
img = cv2.cvtColor(numpy.asarray(image), cv2.COLOR_RGB2BGR)  # 转换代码
cv2.imshow('img', img)  # opencv显示
cv2.waitKey()

先将PIL格式转化为numpy.ndarray,再转换成BGR通过opencv显示,opencv用的都是BGR格式。

    opencv转PIL
import cv2
from PIL import Image

img = cv2.imread('img.jpg')  # opencv读取
image = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))  # 转换代码
image.show()  # PIL显示

先将numpy由BGR转成RGB,再转成PIL格式显示

4. 保存图片
    opencv保存–imwrite()
import cv2

img = cv2.imread('img.jpg')
cv2.imwrite('XXX.jpg', img)  # 保存为XXX.jpg
    PIL保存–save()
from PIL import Image

image = Image.open("img.jpg")
image.save('XXX.jpg')  # 保存为XXX.jpg
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/740671.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号