PIL.Image.open与cv2.imread格式问题

本文介绍了在Python中使用PIL.Image.open和cv2.imread进行图片读取,并重点讨论两者之间的格式互转。PIL读取的图片是RGB顺序,而OpenCV默认为BGR顺序。转换方法包括将OpenCV的numpy数组转换为PIL图像,反之亦然。了解这些转换对于在处理图像时确保正确显示和操作至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用图片读取方式:

PIL.Image.open

scipy.misc.imread

scipy.ndimage.imread

cv2.imread(速度最快)

matplotlib.image.imread

skimage

caffe.io.load_image

imagepath='test1.jpg'
im1=Image.open(imagepath)
im1=np.array(im1)#获得numpy对象,RGB
print(type(im1))
print(im1.shape)

#2 opencv 
im2=cv2.imread(imagepath)
print(type(im2))#numpy BGR
print(im2.shape)#[width,height,3]

#3 matplotlib 类似matlab的方式
im3 = mpimg.imread(imagepath)
print(type(im3))#np.array
print(im3.shape)

#4 skimge 
#caffe.io.load_iamge()也是调用的skimage实现的,返回的是0-1 float型数据
im4 = io.imread(imagepath)
print(type(im4))#np.array
print(im4.shape)
##########
# <class 'numpy.ndarray'> # (851, 1279, 3) 
# <class 'numpy.ndarray'> # (851, 1279, 3) 
# <class 'numpy.ndarray'> # (851, 1279, 3) 
# <class 'numpy.ndarray'> # (851, 1279, 3)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值