python中读取图像的几种方法对比

1.vc2.imread()

cv2.imread读出的图片格式是uint8;value是numpy array;图像数据是以BGR的格式进行存储的,注意是BGR,通道值默认范围0-255,需要将存储类型改成RGB的形式才能正常显示原图的颜色。图片维度可以表示为(h,w,c)

2.PIL.Image.open()

PIL是有自己的数据结构的,类型是<class ‘PIL.Image.Image’>;但是可以转换成numpy数组,转换后的数组为unit8,0-255范围,图像形状是(H,W,C),读入的顺序是RGB

3.skimage.io.imread()

io.imread读出图片格式是uint8(unsigned int);value是numpy array;图像数据是以RGB的格式进行存储的,通道值默认范围0-255。

##############################  opencv  ###########################
import cv2
import numpy as np

# 读取图片:默认彩色图 读入格式为(height,width,channels)
im1 = cv2.imread("./data/imgs/front.jpg")
cv2.imshow('src',im1)
print(im1.shape)
print(im1.size)
print(im1.dtype)
print(im1)

# 读灰度图 读进来的灰度图格式是(height,weight)
gray = cv2.imread('./data/imgs/front.jpg',cv2.COLOR_BGR2GRAY)
cv2.imshow('gray',gray)
print(gray.shape)
print(gray.size)
print(gray.dtype)
print(gray)

# 注意,计算图片路径是错的,opencv也不会提醒你,但print img时得到的结果是None
im2 = cv2.imread('2.jpg')
print(im2)

im2 = cv2.imread('2.jpg')
if im2 == None:
    print('fail to load image')

# 在深度学习中常涉及对不同通道进行卷积,图片常采用另一种方式:(channels,heigh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值