一、引言
接触图像处理、计算机视觉这个领域已经有两年了,感觉有必要对自己所了解的知识点进行简单的总结与概括,其实也就是复习一下,更好的面对找工作时可能问道的问题。
计算机视觉的知识点相对比较庞大,如果没有在特定的领域有项目或经验,那一些知识还是比较陌生的,同时没有去再看了,因此大部分的知识是图像处理相关的。
二、基本概念概念
1.计算机视觉、计算机图形学、数字图像处理的区别:
计算机视觉:往往对一副图像,通过变换、提取特征来推断图像中的物体的三维信息,简单的说偏向于从2d图像推断三维信息。
计算机图形学:通过各种手段,构造三维场景并逼真的在二维图像中显示,属于从三维到二维的一个过程。
数字图像处理:通过一些算法对图像进行基本的变换,其实属于二维图像到二维图像的过程。这些基本趋势可以看做是这些知识领域的区分方式吧。有差异,同时也有相似之处。
三、图像基础;
1.相机模型;常见的摄像机抽象模型包括针孔模型和薄透镜模型。针孔模型其成像面和物体在一条水平线上,且成像与实际物体方向相反。透镜模型其光轴有折射特性,因此物体成像位置的计算相对要复杂些。
2.图像基本概念:图像是由coms传感器接受的数据并以特定矩阵存储方式得到的数据,从实际物体到图像,需要经过世界坐标系到相机坐标系变换,相机坐标系再到图像坐标系的变换。图像像素值的位数决定了图像的数据质量,位数越高,所包含的图像信息就越丰富。常见的格式有TIFF GIF PNG JEPG BMP等。
3.直方图:代表了在某个特定像素值下图像中这样像素的个数。一般像素值从0-255,则整个直方图表示图像像素值的分布情况。
曝光:表示较高像素值区域的像素数量在真个图像中所占的比例情况。
对比度:表示直方图中高像素值与低像素值之间的差距范围。
动态范围:只图像中不同像素值所占的数目。即图像值在0-255之间的值是否都出现了。
四、图像处理
1.点算子:
图像强度修正:包括亮度(像素值均增加某个单位)、对比度调整(像素值均乘以某个值)、阈值化(对象素值进行阈值处理)
2.滤波器;以滤波矩阵对图像进行卷积操作,滤波矩阵的形式决定了对图像的滤波操作。滤波器具有可交换性与线性叠加性质。
线性滤波器:平滑滤波、高斯滤波、均值滤波、差分滤波。
非线性滤波器:最大最小值滤波、中值滤波。
3.区域算子:
4.傅里叶变换:
5.金字塔和小波
6.图像形态学:腐蚀、膨胀、开运算、闭运算;
计算机视觉领域算法
一、特征检测与匹配:
1.点特征:
Harris角点特征、SIFT特征(具有尺度不变性)、MSER特征;
特征匹配:根据特征点计算匹配度;通过ROC曲线进行结果分析;
2.边沿特征:
sobel算子 Roberts算子 Canny算子等;
3.轮廓:二值图像的轮廓特征;包含周长、矩、面积、形心等。
4.线条特征:
基于霍夫变换的直线检测、基于RANSAC(随机样本一致性)的直线检测
霍夫变换也可以用于圆检测、椭圆检测。
二、图像分割:
1.活动轮廓、蛇行算法;
2.分水岭算法;
3.meansift、k-均值和高斯混合方法;
4.graphCut方法、grabCut方法;
三、基于特征的匹配
1、相机参数标定;通过相机标定板去估计相机的内部参数,包括焦距、镜头畸变、像素比例等参数、
2.三角测量法:采用双目相机,根据两个相机位置关系确定出两幅图像中对应相同像素点的深度值,此点便成为了3维点。
四、其他领域:
稠密运动估计、图像拼接、计算摄影学、立体视觉、3D重建、基于图像的绘制、图像识别等领域。
五、总结
可以发现计算机视觉领域非常广泛,引用的场景很多,而每个领域都包含大量的论文与新的算法,因此在未对其中的某个领域进行深入的研究之前,不能对其妄下结论。
然而现在的参考书目,如《计算机视觉一种现代方法》和《计算机视觉算法与应用》这类书包含了计算机视觉的大部分领域内的知识点,但是又没有对具体的算法细节做过多的解释,每一个算法不不可能都能说清楚,因此只能去了解这个领域的目标与发展,具体的算法还得去搜算法对应的原始论文。
基本库:
OPENCV;
除了opencv貌似其他的用的真不多,毕竟OPENCV太强大了。