1. 画图解释图像卷积滤波的基本原理,并进一步简述常见的图像平滑滤波算法。 

图像滤波即为图像卷积,其基本原理是对图像像素进行卷积运算。图像平滑滤波指的是图像操作进行噪声去除,常见的图像平滑滤波算法有:平均滤波,高斯滤波,中值滤波,高斯滤波最为常用。

平均滤波:

加权均值滤波器计算例题四个模板_opencv

加权均值滤波器计算例题四个模板_opencv_02

平均滤波有如上图所示三种格式,其中的1/5,1/8,1/9分别对应滤波器中非零元素的个数。

加权平均滤波(高斯滤波):

加权均值滤波器计算例题四个模板_opencv_03

加权均值滤波器计算例题四个模板_加权均值滤波器计算例题四个模板_04

从滤波器的形状可见,类似于一个高斯分布的形状。

中值滤波:

加权均值滤波器计算例题四个模板_角点_05

中值滤波需要先确定,取中间值代替原窗口中心像素值,窗口智能存在奇数个像素,偶数无法使用。

2. 简述边缘检测的基本原理,以及Sobel、LoG和Canny算子的原理差异。

边缘检测的本质是微分,由于像素值是离散的数值,所以实际操作中,使用差分运算。

(1)Sobel算子

sobel算子使用3*3的卷积核进行卷积计算,sobel算子不能将图像的主题与背景严格地区分开;

加权均值滤波器计算例题四个模板_加权均值滤波器计算例题四个模板_06

使用sobel算子卷积核分别于原始图像相乘,得到横向和纵向的亮度差分近似值,sobel算子计算得出的像素灰度值存在幅值和方向,分别如下:Ex与Ey分别为经过sobel算子卷积核与横向纵向灰度值相乘得到的值。sobel算子对噪声具有平滑作用,可以提供较为精确的边缘方向信息,但是边缘定位精度不够高。

加权均值滤波器计算例题四个模板_opencv_07

Sobel(src, dst, ddepth, dx, dy, ksize, scale, delta, borderType)
#src表示输入图像
#dst输出图像
#输出图像的深度,输入输出图像深度对比,一般选择 -1 或者CV_16S, CV_32F, CV_64F
#dx x方向上的差分阶数
#dy y方向上的差分阶数
#ksize,sobel卷积核大小,默认是3, 可以取1,3,5,7
#scale表示缩放,默认是1,没有缩放
#delta,默认值0
#边界模式,默认BORDER_DEFAULT

(2)LoG算子

LOG算子使用拉普拉斯变换和高斯分布取差分,由于其数学性质,高斯运算可以单独提出来,从而得到LOG算子;

Laplace算子:通过数学运算计算得到二维导数为0的点,该点即为灰度剧烈变化的点,可以是噪声点或者边缘点,通过噪声处理先处理掉噪声独立点,再进行laplace变换,可以得到边缘线的位置,且对灰度缓慢变化的点也同样敏感。

laplace公式:

加权均值滤波器计算例题四个模板_opencv_08

laplace离散表示:

加权均值滤波器计算例题四个模板_加权均值滤波器计算例题四个模板_09

Laplacian(src, dst, ddepth, ksize, scale, delta, borderTyper)

LoG算子即将laplace算子中先进行噪声去噪处理,再进行边缘检测,由于二维高斯函数的性质,可以将二维高斯函数直接进行Laplace变换,求卷积,进而得到最终图像。

(3)Canny算子

Canny算子在使用卷积操作进行图像平滑的同时计算微分,计算出相应的幅值和方向,对幅值进行非极大值抑制,最后进行自动边缘连接,canny算子对噪声不敏感,检测准确。

由于边缘检测的本质是微分,所以对图像进行一维高斯函数卷积,然后微分,由数学推导得知,其结果等于直接对高斯函数进行微分:

加权均值滤波器计算例题四个模板_灰度_10

对高斯函数进行x方向和y方向求微分,即x和y方向求梯度,可以得到梯度幅值和方向:

加权均值滤波器计算例题四个模板_灰度_11

将所有的方向进行离散化,汇总为8个方向:

加权均值滤波器计算例题四个模板_加权均值滤波器计算例题四个模板_12

非极大值抑制,使用3*3的领域,对中心像素沿梯度方向两个梯度幅值差值比较,仅保留极大值点;

使用分段函数,将像素值进行边缘连接:

加权均值滤波器计算例题四个模板_角点_13

  

加权均值滤波器计算例题四个模板_卷积_14

其中,T1对应假边缘,T3对应真边缘,T2连接

Canny(image, edges, threshold1, threshold2, apertureSize=3, L2gradient)
#输入图像
#输出边缘
#x边缘阈值
#y边缘阈值

3. 简述图像直方图的基本概念,及使用大津算法进行图像分割的基本原理。 

灰度直方图:将图像的灰度以统计的方法展示在直方图中,横轴是灰度值,纵轴是各灰度出现的次数。

将图像的灰度图中灰度值做二值化分割,是的背景和目标之间的差异最大化。

大津算法:遍历灰度取值,设定最佳阈值,使得背景和目标之间的类间方差值最大,但是大津算法对灰度渐变的场景不适用。

4. 简述Harris算子对角点的定义,进行角点检测的基本原理,并说明引入角点响应函数的意义。 

通过对灰度进行计算,得到灰度积分变化,将灰度积分变化最终的值转为二次型,以二次型直观的展示灰度信息。通过比较二次型的参数从而判定该点是否角点。

引入角点响应函数的意义是将原有的灰度积分函数结果划分更为直观和方便,通过比较最终的R的值即可判断该点是否为角点。

5. 简述Hough变换的基本原理(包括参数空间变换及参数空间划分网格统计)。 

hough变换的本质是将直角坐标系转化为极坐标系,这么做的原因是直角坐标系的取值范围不定,二极坐标系的取值范围在-pi到pi之间。

6. 简述SIFT原理(重点是尺度空间和方向直方图原理)及ORB算子原理(重点是FAST和BRIEF)。 

SIFT通过高斯函数与原图像进行卷积操作,然后通过下采样,得到尺度空间模型,如下图所示:

加权均值滤波器计算例题四个模板_灰度_15

其中 σ 表示高斯分布的方差,k 为需要设定的参数,与组内层数相关。在卷积操作中,使用二维高斯函数进行卷积操作,由于高斯函数本身的数学性质,可以将二维高斯函数分为横向和纵向两个方向卷积以节省资源。

通过关键点定位,使用灰度直方图进行特征描述生成描述向量。