浏览量: 330 次浏览

Python读取图像

2019年9月10日 0 作者 Nie Hen

PIL的open

scipy.misc.imread # 调用的还是 pilutil 中的 imread
scipy.ndimage.imread # 调用的就是 scipy.misc.imread
(scipy的0.19.0版本和1.0.0版本中可以用到的imread,imresize函数在scipy的1.3.0版本中全部被遗弃)
imageio.imread # dependency 有 pillow 应该也是调用 PIL 实现

PIL.Image.open 不直接返回 numpy.ndarray 对象而是 PIL image 对象,可以用 numpy 提供的函数进行转换

imageio 返回 Image 对象,应该是 numpy.ndarray 的一种封装,通道顺序 RGB,通道值默认范围 0-255

其他模块都直接返回 numpy.ndarray 对象,通道顺序为 RGB,通道值得默认范围为 0-255

opencv的imread

scipy的imrad imresize被抛弃

img = scipy.misc.imread(myImage)
可以使用imageio.imread进行代替
import imageio
img = imageio.imread(myImage)

img = scipy.misc.imresize(myImage, size=(num_px,num_px))
可以使用 PIL Image类替代
from PIL import Image
img = np.array(Image.fromarray(myImage).resize((num_px,num_px)))

###链接

opencv的图像读取方式

imread函数解析
常见的imread区别