说在前面
- opencv版本:4.0.1
- 操作系统:win10
- vs版本:2017
- 官方文档:Shi-Tomasi corner detector
- 参考:OpenCV源码、某论文
- 其他说明:自学,记录,demo
Theory
-
说明
官方那篇文档啥都没有,就这一个函数
void cv::goodFeaturesToTrack ( InputArray image, //输入图像 OutputArray corners, //输出角点的集合 int maxCorners, //输出的最大角点数 double qualityLevel, //角点质量等级 double minDistance, //角点间最小欧式几何距离 InputArray mask = noArray(), // int blockSize = 3, //窗口大小 bool useHarrisDetector = false, //是否使用上节的Harris算法 double k = 0.04 //Harris算法的k值 )
然后去找的那篇论文,没咋看懂;
然后再看这函数源码,emmmm,wsl(只知道这函数最开始的时候会调用一次其它角点检测函数例如Harris角点检测,然后对结果进行进一步处理,但是进一步处理中用了好多OpenCL的东西,这部分代码找的不是很确定,比如这个)
所以有木有大佬啊! -
补充(2019.7.29)
Harris与Shi-Tomasi的不同见下一篇、原理也有进一步理解
Result
- 这是未使用Harris角点检测(使用的是另一种cornerMinEigenVal(计算每个像素点的梯度矩阵的最小特征值))
- 这是使用了Harris角点检测的结果
END