Python图像处理实战
上QQ阅读APP看书,第一时间看更新

1.2 图像处理流程

图像处理流程的基本步骤如下。

(1)图像的获取与存储。获取图像(如使用相机获取),并以文件的形式(如JPEG文件)将其存储在某些设备(如硬盘)上。

(2)加载图像数据至内存并存盘。从磁盘读取图像数据至内存,使用某种数据结构(如numpy ndarray)作为存储结构,之后将数据结构序列化到一个图像文件中,也可能是在对图像运行了算法之后。

(3)操作、增强和复原。需运行预处理算法完成如下任务。

① 图像转换(采样和操作,如灰度转换)。

② 图像质量增强(滤波,如图像由模糊变清晰)。

③ 图像去噪,图像复原。

(4)图像分割。为了提取感兴趣的对象,需要对图像进行分割。

(5)信息提取/表示。图像需以其他形式表示,如表示为以下几项。

① 某些可从图像中计算出来的人工标识的特征描述符(如HOG描述符、经典图像处理)。

② 某些可自动从图像中学习的功能(例如,在深度学习神经网络的隐藏层中学到权重和偏差值)。

③ 以另一种表示方法表示图像。

(6)图像理解/图像解释。以下表示形式可用于更好地理解图像。

① 图像分类(例如,图像是否包含人类  对象)。

② 对象识别(例如,在带有边框的图像中查找car对象的位置)。

图像处理流程如图1-3所示。

图1-3 图像处理流程

用于各种图像处理任务的不同模块如 图1-4所示。除此之外,还会用到以下图像处理模块。

(1)scipy.ndimage和opencv用于不同图像处理。

(2)scikit-learn用于经典的机器学习。

(3)tensorflow和keras用于深度学习。

图1-4 用于图像处理任务的不同模块