使用pytorch制作图像数据集时,需要将存储在磁盘、硬盘的图像读取到内存中,涉及到图像I/O问题。在python中,图像处理主要采用的库:skimage, opencv-python, Pillow (PIL)。 这三个库均提供了图像读取的方法。
三种主流图像处理库的比较:

实验内容
读取图像
准备一张测试图像,彩色32bit

import matplotlib.pyplot as plt
import skimage.io as io
import cv2
from PIL import Image
import numpy as np
import torch
# dog.jpg width = 1599, height=1066, channel=3
# 使用skimage读取图像
img_skimage = io.imread('dog.jpg') # skimage.io imread()-----np.ndarray, (H x W x C), [0, 255],RGB
print(img_skimage.shape)
# 使用opencv读取图像
img_cv = cv2.imread('dog.jpg') # cv2.imread()------np.array, (H x W xC), [0, 255], BGR
print(img_cv.shape)
# 使用PIL读取
img_pil = Image.open('dog.jpg')

本文对比了skimage、opencv和PIL三个主流图像处理库在读取图像方面的差异,并介绍了如何将图像转换为PyTorch Tensor格式,适用于深度学习任务。
最低0.47元/天 解锁文章
9085

被折叠的 条评论
为什么被折叠?



