Image.open()和cv2.imread()

本文介绍了如何使用Python的PIL库的Image.open()函数和OpenCV的cv2.imread()函数打开及读取图像。PIL打开的图片是RGB格式的PIL对象,需转化为numpy数组才能查看shape。而cv2.imread()返回BGR格式的numpy数组。两者间可通过cv2.cvtColor进行RGB到BGR或反之的转换来相互转化。判断图像是否为OpenCV格式可检查是否为numpy.ndarray类型。
摘要由CSDN通过智能技术生成

Image.open()和cv2.imread()

img = Image.open(ImgPath)打开的图片是PIL类型,默认RGB。
将PIL类型转化为numpy类型:im = numpy.array(img)
才能看到shape属性,是(height, width, channel)数组,channel的通道数据是RGB。

cv2.imread(path, 读取方式):
path: 图片的路径;
读取方式: cv2.IMREAD_COLOR:读入一副彩色图片;cv2.IMREAD_GRAYSCALE:以灰度模式读入图片;cv2.IMREAD_UNCHANGED:读入一幅图片,并包括其alpha通道。
默认为cv2.IMREAD_COLOR。
返回值是(height,width,channel)数组,channel的顺序是BGR顺序

两者之间的相互转换
PIL Image转化为OpenCV格式:
img = Image.open()
img = cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)
OpenCV转化为PIL Image格式:
img = cv2.imread()
img2 = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))

判断图像数据是否为OpenCV格式:
isinstance(img, np.ndarray)

参考:https://cloud.tencent.com/developer/article/2151970

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值