1.scipy.ndimage.imread
scipy.ndimage.imread()方法在scipy的1.0.0版本中被丢弃了,在1.2.0版本中通过imageio.imread来调用该方法。由于我的scipy版本还是0.19.0版本的,所以我这里就直接通过scipy.ndimage.imread来调用了。
该方法用来从文件中读取图像作为数组。只有在安装了Python Imaging Library (PIL)库之后才能使用该方法。该方法接收3个参数:fname,flatten ,mode。其中fname是文件路径,如果flatten=True,则将图片转变成单层的灰度图层。读一张图片时,可能把一张图片转换为一个类似(xdim,ydin,3or4)的3维的矩阵,由于一张图片是可以由RGB3个通道的颜色组成的,若无透明度,则最后一位的值为3,有透明度是,最后一位的值为4。这3维矩阵元素的取值范围为0~255。mode我就不说了,默认是”RGB”模式,也可以有其它取值,有兴趣可以看下官方API,下面来看一个例子:
import pylab
import scipy
import numpy as np
from scipy import ndimage
import matplotlib.pyplot as plt
dir = "./testImgs/"
filename = dir + "la_defense.jpg"
image = np.array(ndimage.imread(filename, flatten=