OpenCV之Shi-Tomasi角点检测

除了利用进行角点检测外,还可以利用Shi-方法进行角点检测 。Shi-算法是算法的改进 。实现此算法的函数名为,这是因为概算子是1994年在文章《Goodto Track》中被提出的 。
确定图像强角点:()函数
()函数结合了Shi-算子,用于确定图像的强角点,函数原型:
void goodFeaturesTrack(InputArray image, OutputArray corner, int maxCorners, double qualityLeval, double minDistance, Inputarray mask=noArray, int blockSize=3, bool useHarrisDetector=false, double k=0.4)
【OpenCV之Shi-Tomasi角点检测】此外,()函数可用来初始化一个基于点的对象跟踪操作 。
代码示例:
#include #include #include #include #include using namespace std;using namespace cv;int main() {int maxCornerNumber = 50;Mat srcImage, grayImage;srcImage = imread("/Users/dwz/Desktop/cpp/1.jpg");cvtColor(srcImage, grayImage, COLOR_BGR2GRAY);vector corners;double qualityLevel = 0.01;double minDistance = 10;int blockSize = 3;double k = 0.04;Mat copy = srcImage.clone();goodFeaturesToTrack(grayImage,corners,// 输入图像maxCornerNumber,// 检测到的角点qualityLevel,// 角点的最大角点数量minDistance,//Mat(),blockSize,false,k);int r = 4;for (unsigned int i=0; i
输入:
输出: