一、需求
在深度学习过程中,往往需要制作自己的数据集,相关论文中的现成的数据集尽管可以用来直观地感受算法的效果,但是与自己的项目需求都是有一定出入的。
在有大量的图片样本时,我们首先需要读取图片,将其转化为numpy数组,并在控制台打印出来,直观地看到图片对应的矩阵是什么样子的。
二、python程序
// 将图片转换为numpy数组,并在控制台打印
from PIL import Image;
import numpy as np;
// 括号中为图片的文件路径名,一般路径名的格式如C://Users//Lenovo//Desktop//E
raw_image=Image.open("face.jpg")
// 将图片转化为numpy数组
image_array=np.array(raw_image)
// 输出结果
print(image_array)
三、效果
图片原始效果图
在控制台打印输出的结果
可以看到,对于彩色RGB三通道图片,其实际上是一个二维矩阵,并且矩阵的每一个元素是由R、G、B三通道的值组成的。
上面的人脸图片来源于某数据集,为了验证图像矩阵的正确性,我们从数据集中直接加载,输出结果进行比较。
奇怪的事情发生了,一个是将图像矩阵保存为图像,然后再读取,转换为numpy数组;一个是直接打印numpy数组。我觉得这个可能是跟array到图像的转换方式有关,后面做一下不同转换方法之间的比较。