使用scikit-image来进行图片的预处理
scikit-image是一个基于NumPy数组来进行图像处理的工具包,可以直接使用pip安装,使用import skimage
导入。在包skimage
下定义了众多的子包,其中常用的是io
、filters
、draw
、transform
等。
对图片进行读写操作主要是使用io
包中的imread()
、imsave()
等功能,这两个函数可以将图片文件读入NumPy数组,或者将NumPy数组保存为图片文件。draw
主要是进行一些绘制操作。filters
和transform
中的函数可以对NumPy数组进行一些数学变换,对图片进行数学变换需要一些数学和图像学知识,读者在使用这些变换函数时可以直接参考scikit-image的文档。
使用scikit-image导入的图片直接就是NumPy数组的形式,如果需要应用torchvision
的变换,需要进行一次转换。所以如果打算使用torchvision
的变换,尽量使用Pillow库来进行图像的加载和预处理。如果使用scikit-image库预处理图片,那么图片的变换操作应该尽量全部由scikit-image库完成,并直接将处理后的NumPy数组转换为张量交由PyTorch使用。