C++ OpenCV特征提取之如何实现Shi-Tomasi角点检测

这篇文章将为大家详细讲解有关C++ OpenCV特征提取之如何实现Shi-Tomasi角点检测,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

简介

Shi-Tomasi角点检测的理论和Harris角点检测的理论几乎完全一致,唯一不同的是在使用矩阵特征C++ OpenCV特征提取之如何实现Shi-Tomasi角点检测计算角度响应的时候

C++ OpenCV特征提取之如何实现Shi-Tomasi角点检测

C++ OpenCV特征提取之如何实现Shi-Tomasi角点检测

先上视频效果

相关API

C++: void goodFeaturesToTrack(

InputArray image,

OutputArray corners,

int maxCorners,  --表示返回角的数目,如果检测出来角点数大于最大数目

                              则返回响应值最强前规定数目。

double qualityLevel,  --表示最小可接受的向量值1500,0.01,15

double minDistance,  --两个角点之间的最小距离

InputArray mask=noArray(),

int blockSize=3,  --计算导数微分不同的窗口大小

bool useHarrisDetector=false,  --是否使用Harris角点检测

double k=0.04 )

代码演示

我们再新建一个项目名为opencv--shi-tomasi,按照配置属性(VS2017配置OpenCV通用属性),然后在源文件写入#include和main方法

C++ OpenCV特征提取之如何实现Shi-Tomasi角点检测

C++ OpenCV特征提取之如何实现Shi-Tomasi角点检测

基本的出来了,图像我们改了一下,显示效果为

C++ OpenCV特征提取之如何实现Shi-Tomasi角点检测

接下来开始我们的表演

首先还要是创建Trackbar,定义基本的参数

C++ OpenCV特征提取之如何实现Shi-Tomasi角点检测

C++ OpenCV特征提取之如何实现Shi-Tomasi角点检测

接下来就是写我们的GoodFeauturestoTrack_Deal这个事件

C++ OpenCV特征提取之如何实现Shi-Tomasi角点检测

C++ OpenCV特征提取之如何实现Shi-Tomasi角点检测

看看运行显示效果

C++ OpenCV特征提取之如何实现Shi-Tomasi角点检测

关于“C++ OpenCV特征提取之如何实现Shi-Tomasi角点检测”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。