二、opencv函数原型和参数解析

void goodFeaturesToTrack(InputArray image,//输入图像,必须是单通道OutputArray corners,//检测到的角点、输出向量int maxCorners,//角点的最大数量double qualityLevel,//最小特征值,常用0.1或0.01double minDistance,//角点之间的最小距离InputArray mask = noArray(),//掩模,表示感兴趣区域int blockSize = 3,//邻域范围,计算二阶导数的自相关矩阵bool useHarrisDetector = false, double k = 0.04);//默认值

三、c++示例代码

//包含头文件
#include <opencv2/opencv.hpp>
//命名空间
using namespace cv;
using namespace std;
//全局变量声明
Mat g_srcImage, g_grayImage;
int g_maxCorners = 200;//滑动条当前位置
int g_max_trackbar = 500;//滑动条取值范围【0,500】
//全局函数声明部分
void callback_ShiTomasi(int, void*);//回调函数
//主函数
int main()
{//【1】载入图像g_srcImage = imread("G:\\opencvtest\\testImage\\house.jpg");//【2】检查是否载入成功if (g_srcImage.empty()){printf("读取图片错误,请确认目录下是否有imread函数指定图片存在! \n ");return 0;}//【3】图像灰度化cvtColor(g_srcImage, g_grayImage, COLOR_BGR2GRAY);//【4】创建窗口和滑动条namedWindow("Shi-Tomasi角点检测", WINDOW_AUTOSIZE);createTrackbar("角点最大数量:", "Shi-Tomasi角点检测", &g_maxCorners, g_max_trackbar, callback_ShiTomasi);//【5】调用一次回调函数,进行初始化callback_ShiTomasi(0, 0);//【6】保持窗口显示waitKey(0);return 0;
}void callback_ShiTomasi(int, void*)
{//【1】复制源图像到一个临时变量中Mat g_CloneImage = g_srcImage.clone();//【2】Shi-Tomasi角点检测g_maxCorners = max(g_maxCorners, 1);vector<Point2f> corners;goodFeaturesToTrack(g_grayImage, corners, g_maxCorners, 0.01, 10);//【3】绘制检测到的角点for (size_t i = 0; i < corners.size(); i++){circle(g_CloneImage, corners[i], 4, Scalar(0, 0, 255));}//【4】显示图像imshow("Shi-Tomasi角点检测", g_CloneImage);
}

三、运行截图

1.

2.

【OpenCV3经典编程100例】(26)2D特征:Shi-Tomasi角点检测goodFeaturesToTrack()函数相关推荐

  1. Mr.J--C语言经典编程100例

    C语言,一般为初学者的首选语言,说简单也简单,但是要真正学好C语言,也是一件很难的事,懂了这些100个例题,也就算是入门了吧,毕竟语言要学的太多,这只是基础. [程序1] 题目:古典问题:有一对兔子, ...

  2. python编程300例_经典编程100例——python版(例75)

    例75:一个自然数, 若它的质因数至少是两重的(相同的质因数至少个数为二个, 如36=2*2*3*3)则称该数为"漂亮数".  若相邻两个自然数都是"漂亮数", ...

  3. python编程300例_经典编程100例——python版(例9例10)

    最近事情比较多,python还在学习之中,更新速度慢了一些.今天就2例. 例9:一个数如果恰好等于它的因子之和,这个数就称为"完数".如6=1+2+3.编程找出1000之内所有的完 ...

  4. python小游戏编程100例_经典编程100例——python版(例9例10)

    最近事情比较多,python还在学习之中,更新速度慢了一些.今天就2例. 例9:一个数如果恰好等于它的因子之和,这个数就称为"完数".如6=1+2+3.编程找出1000之内所有的完 ...

  5. Python3算法基础练习:编程100例( 26 ~ 30)

    上期文章: Python3算法基础练习:编程100例( 21~ 25) 目录 26 递归求 20! 的阶乘 27 字符串反转 28 猜岁数 29 整数打印每一位数字 30 回文数 26 递归求 20! ...

  6. 趣味c语言编程100例(一)

    Technorati 标签: 趣味,c语言,编程,100例 经典c程序100例==1--10 [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分 ...

  7. Python3算法基础练习:编程100例( 31 ~ 35 )

    上期文章: Python3算法基础练习:编程100例( 26 ~ 30) 目录 31 判断星期几 32 反序输出列表 33 分隔列表 34 函数调用 35 文本加颜色 31 判断星期几 题目:请输入星 ...

  8. c语言经典算法大全pdf,c语言经典算法100例pdf版.pdf

    c语言经典算法100例pdf版 C 语言经典算法 100 例 C 语言编程经典 100 例 A:[程序1] 题目:有1.2.3.4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程 ...

  9. 新颖的c语言题目,新颖版c语言经典习题100例(全面面)

    新颖版c语言经典习题100例(全面面) (66页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 实用文档C语言习题100例(最新整理版) ...

最新文章

  1. JavaScript学习笔记(三)——数组
  2. android中getLocationInWindow 和 getLocationOnScreen的区别
  3. 23种基本设计模式简介
  4. md文件生成Java代码_Beetlsql自定义生成entity,mapper,md代码
  5. fxml设置背景_JavaFX – 如何获取Tab,Button等的背景颜色
  6. 和后台如何对接_业务系统如何对接第三方服务?
  7. linux+redhat+5下载地址,Redhat_Linux5下载地址集锦最终.docx
  8. Django之Model组件
  9. P3924 康娜的线段树
  10. Enterprise Library 4.1 Security Block 快速使用图文笔记
  11. Algorithm——A*路径规划算法原理详解
  12. 一个字节等于多少位?
  13. 通达OA任意用户登录漏洞手工复现
  14. 一分钟入门typescript
  15. 游吟诗人之中二病犯了
  16. dp hdu5653 xiaoxin and his watermelon candy
  17. 【云原生系列】云原生下的网络安全如何防御?
  18. enumerate() 函数的解释
  19. BNUZ自动打卡系统
  20. vue2实现高德地图 JSAPI 2.0可拖拽的路线规划(DragRoute)组件实现对每个经过点设置不同的经过点名称

热门文章

  1. 计算机二级C语言操作题怎么做?注意事项(难点易错点总结笔记)
  2. 反恐精英代码_CS:GO和军团要塞2源代码泄漏,Valve:稳住
  3. html中绘制渐变伞,CorelDRAW X8快速制作雨伞教程
  4. 马士兵python_马士兵老师的python入门教程
  5. 关于Vue开发即时聊天类功能的经验分享(其实并不复杂)
  6. python高级语言怎么学习_Python作为近几年大热的语言,要如何学习呢?
  7. 蓝桥杯培训试题新解——计算两个日期之间的天数间隔
  8. react 搭建本地开发环境
  9. 英雄联盟(LOL)外挂原理(仅供学术交流)
  10. Russia Proposes First Multinational Cryptocurrency