什么叫角点呢?
“如果某一点在任意方向的一个微小变化都会造成图像灰度很大的变化,那么这个点就是角点”,我们可以把角落看成是角点的现实体现,对于墙角来说,墙角是所有平面的开始点,只要这个点变化,就会引起所有从这个点出发的平面的变化,这就是角点。
下面是几个角点的具体描述
1、一阶导数,也就是图像灰度的梯度的局部最大所对应的像素点
2、两条以及两条以上边缘的交点
3、图像中梯度值和梯度方向的变化速率都很高的点
4、如果角点处的一阶导数最大,二阶导数为0,则这个角点表示物体边缘变化不连续的点
```
void cornerHarris(InputArray src,OutputArray dst, int blockSize, int ksize, double k, intborderType=BORDER_DEFAULT )
```
· 第一个参数,InputArray类型的src,输入图像,即源图像,填Mat类的对象即可,且需为单通道8位或者浮点型图像。
· 第二个参数,OutputArray类型的dst,函数调用后的运算结果存在这里,即这个参数用于存放Harris角点检测的输出结果,和源图片有一样的尺寸和类型。
· 第三个参数,int类型的blockSize,表示邻域的大小,更多的详细信息在cornerEigenValsAndVecs()中有讲到。
· 第四个参数,int类型的ksize,表示Sobel()算子的孔径大小。
· 第五个参数,double类型