1、角点检测概述
分类:
- 基于灰度图像:梯度、模板、模板梯度
- 基于二值图像
- 基于轮廓曲线
角点即某一点在任意方向的一个微小变动都会引起灰度很大的变化,角点的描述有:
- 一阶导数(即灰度的梯度)的局部最大所对应的像素点
- 两条及两条以上边缘的交点;
- 图像中梯度值和梯度方向的变化速率都很高的点;
- 角点处的一阶导数最大,二阶导数为零,指示物体边缘变化不连续的方向。
2、cornerHarris函数
Harris角点检测,对于每一个像素(x,y)在邻域内,计算2x2梯度的协方差矩阵M(x,y),进而求出角点
CV_EXPORTS_W void cornerHarris( InputArray src, OutputArray dst, int blockSize, int ksize, double k, int borderType = BORDER_DEFAULT );
第三个参数为领域大小,第四个参数为Sobel算子孔径大小,第五个参数为k的值。
3、Threshold函数详解
对单通道数组应用固定阈值操作。该函数的典型应用是对灰度图像进行阈值操作得到二值图像。
CV_EXPORTS_W double threshold( InputArray src, OutputArray dst, double thresh, double maxval, int type );
第三个参数为阈值,第四个参数为当第五个参数阈值类型type取 CV_THRESH_BINARY 或CV_THRESH_BINARY_INV 阈值类型时的最大值,第五个参数可选如下: