用python处理图像分析任务时,首先要将图片导入为解释器可以识别的格式。在使用python做图像算法设计时我们希望以numpy数组的形式来操作图像。一种常见的方法是先使用openCV读入图片,然后再转换为numpy数组形式:
>>> import cv2
>>> import numpy as np
>>> img = cv2.imread('sampleimage.jpg')
>>> img = np.array(img)
这样即可在大部分情况下导入图像。然而在使用python为图像施加复杂操作时,我们希望保持数据格式一致。另外openCV有些文件格式不能直接读入(如.gif),这里介绍另一种方法,即使用scikit-image包的io模块读取图像。
scikit-image和numpy,matplotlib,scikit-learn等包都是Scipy项目的成员,通用numpy数组作为基本数据格式。在python中载入包名为skimage:
>>> from skimage import io
>>> img = io.imread('sampleimage.jpg')
所得即为numpy数组。