玩转人工智能(7)计算机视觉OpenCV库持续深入学习总结

聪明出于勤奋,天才在于积累。

结合上文,本篇首先介绍数字图像处理的基础知识,由于篇幅有限,本人尽量结合日常工作中用到的或者熟悉的部分总结。后续介绍OpenCV库中图像处理函数的实现以及在应用平台中的使用。

在计算机世界里图像信息就是矩阵,图像处理技术按照应用来看,一般是图像的数字化、几何变换、对比对增强、图像平滑、阈值分割、形态学处理、边缘检测、规则形状的检测和拟合、傅立叶变换、频域处理。

图像的数字化是图像处理的第一步,从传感器采集的模拟图像信息要转换为计算机可以处理和计算数字图像信息,关键就是将图像转换为数字矩阵,便于后续处理。模拟信号数字化的步骤:抽样、量化、编码。

图像的几何变换,一般指对图像的放大、缩小、旋转等操作。这类操作改变了原图中各区域的空间关系,完成一张图像的几何变换一般需要进行空间(坐标)变换,像素的插值(空间变换表示像素的一一对应关系,像素插值就是当原始像素值映射到一个变换后的空间,像素值不再整数位,需要近似表示的一种方法)。图像的三种常用几何变换算法:仿射变换、投影变换、极坐标变换。常用的几种插值算法:最邻近插值、双线性插值、三次样条插值。

对比度增强:这是改变图像质量(灰度)的一种方式,目的是得到细节更加清晰、内容的质量更加优秀的图片。常用的增强方法有线性变换、分段线性变换、伽马变换、直方图正规化、直方图均衡化、局部自适应等等。简单的线性变换可以理解为对像素的值放大或者缩小,分段线性变换可以认为是对部分像素点的放大或者缩小计算,图像的伽马变换可以认为是对图像像素值的幂运算。

图像平滑:平滑的目的是降低噪声对图像内容的干扰,平滑的实质是滤波。常用的平滑技术有:高斯平滑、均值平滑、基于统计学方法的中值平滑、双边滤波、导向滤波等。高斯平滑和均值平滑会使图像边缘信息变得模糊,双边滤波和导向滤波可以保持边缘,高斯平滑尤其对纹理信息的平滑效果更好。

图像分割:要从图像中获取直观有效的信息,人们一般习惯于分割成不同的模块或者物体来处理,所以图像分割也就是为了把图像分成若干个信息量比较独特的区域来进行信息处理的手段,把不同的物体或者要识别的部分从原始图像中分离出来,是一种为后面图像特征分析、识别等处理不得不考虑的办法。常用的图像分割方法:阈值分割,区域分割、边缘分割等等。阈值分割最简单的一种形式就是灰度图像的二值化,如果图像中目标物体和背景的特征差异较大,使用阈值分割法不妨为一种提取目标前景物体的办法。

形态学处理:图像分割的结果往往包含一些不可避免的干扰,生态学利用生长变胖变瘦的思想,对图像的分割区域进行调整,能带来比较好的效果。常用的生态学处理方法有:腐蚀、膨胀、开运算、闭运算、顶帽运算、底帽运算等等。腐蚀的核心算法是对原始图像用核函数求卷积最小值,膨胀恰好相反。开运算就是先腐蚀后膨胀处理的过程,这种方法一般能消除亮度较高的细小区域,在纤细出分离物体,对于较大物体,可以在不改变其面积的情况下平滑边界。闭运算恰好相反,她能填充白色物体内黑色空洞,链接临近物体、同一个结构元、多次迭代处理等作用。开运算和闭运算的差就是形态学梯度。原始图像减去开运算结果就是顶帽变换,原始图像减去闭运算结果就是底帽变换。

边缘检测:图像的边缘这里指图像像素值走势急剧变化的位置,由于人类的感知,在对图像理解上像素值发生急剧变化的地方往往含有的信息量越大,更好的理解图像内容不可避免的要感知边缘信息。图像处理一般通过遍历每个像素以及临域像素变化度量,这种度量方式一般习惯用求导或者差分的思路来检测像素走势。常用的卷积求导算子有canny、roberts、prewitt、soble、scharr、kirsch、laplacian、高斯差分法等等。目前对于边缘的检测算法比较成熟,但是对于不同的应用场景,运算效率等方面还是有一定的提升优化空间。

规则形状的检测拟合:常见的规则形状不外乎直线、圆、椭圆、三角形、矩形等,检测到规则图像的形状对于理解图像中物质的信息尤其关键。形状的检测也称为轮廓检测,常用的算法有霍夫曼变换法,当然,上文提到的各种算子都可以用来识别检测图中那形状。

上文简单介绍了理解图像中信息的常用手法,接下来再介绍分析图像的另一种角度。横看成林侧成峰,从不同的角度看问题得到的结果也不一样。

傅立叶变换:一种利用傅立叶正交函数,将信号转换到频率空间来提取特征的方法,矩阵也就转化成了幅度谱和相位谱的表示方式。这样的正交函数还有小波、Gabor等。

频域处理:图像在变换到频率域,低频信息表示的是图像像素值变换平缓的部分,高频部分表示像素值急剧变化的部分,如边缘区域。要保留图像的平缓区域,可以找一个把高频区域过滤掉的滤波器,这种滤波器就是低通滤波器。这种滤波器有巴特沃斯、类高斯、朴实低通滤波器。相反,高通滤波器类似。带通滤波器是一种既能过滤掉高频部分,又能过滤掉底频部分的滤波器。

了解了基本概念,我们就来使用OpenCV的函数库。官网手册:file:///Users/moscar/Downloads/opencv-python-tutroals-latest/index.html#py-table-of-content-core(本地版本)

玩转人工智能(7)计算机视觉OpenCV库持续深入学习总结_第1张图片

自己赶紧修练吧!骚年。












你可能感兴趣的:(玩转人工智能(7)计算机视觉OpenCV库持续深入学习总结)