博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
亚像素级角点定位
阅读量:6954 次
发布时间:2019-06-27

本文共 1927 字,大约阅读时间需要 6 分钟。

代码示例:

#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include 
#include
#include
using namespace cv;using namespace std;#define WINDOW_NAME "Shi-Tomasi角点检测"Mat src, gray;int maxCornerNum = 10;int maxTrackbarNum = 500;//滚动条回调函数void cornersRefinement(int, void*){ Mat copy = src.clone(); if (maxCornerNum <= 1){ maxCornerNum = 1; } //角点检测参数准备 vector
corners; double qualityLevel=0.01;//角点检测可接受的最小特征值 double minDistance = 10;//角点之间的最小距离 int blockSize = 3;//计算导数自相关矩阵时的指定的领域范围 double k = 0.04;//权重系数 //进行Shi-Tomasi角点检测 goodFeaturesToTrack(gray, corners, maxCornerNum, qualityLevel, minDistance, Mat(), blockSize, false, k); //像素级角点使用蓝色圆圈绘制 for (int i = 0; i < corners.size(); i++){ circle(copy, corners[i], 4, Scalar(255, 0, 0), 2, 8, 0); } /// 角点位置精准化参数 Size winSize = Size(5, 5); Size zeroZone = Size(-1, -1); TermCriteria criteria = TermCriteria( CV_TERMCRIT_EPS + CV_TERMCRIT_ITER, 40, //maxCount=40 0.001); //epsilon=0.001 /// 计算精准化后的角点位置 cornerSubPix(gray, corners, winSize, zeroZone, criteria); //亚像素级角点使用品红色圆圈绘制 for (int i = 0; i < corners.size(); i++){ circle(copy, corners[i], 4, Scalar(255, 0, 255), 2, 8, 0); // 输出角点坐标 cout << " [" << i << "] (" << corners[i].x << "," << corners[i].y << ")" << endl; } cout << endl; imshow(WINDOW_NAME, copy);}int main(){ src = imread("church.jpg", 1); cvtColor(src, gray, COLOR_BGR2GRAY); namedWindow(WINDOW_NAME, WINDOW_AUTOSIZE); createTrackbar("最大角点数", WINDOW_NAME, &maxCornerNum, maxTrackbarNum, cornersRefinement); imshow(WINDOW_NAME, src); cornersRefinement(0, 0); waitKey(0); return 0;}

效果:

 

转载于:https://www.cnblogs.com/bluebean/p/5734241.html

你可能感兴趣的文章
apper安卓×××
查看>>
大型网站技术架构(一)大型网站架构演化
查看>>
Log4j 1使用教程
查看>>
如何将PDF转换成Word
查看>>
plusgantt的项目管理系统实战开发最全课程
查看>>
vlan理论03-vlan映射
查看>>
Linux终端的总结和shell
查看>>
Java8 十大新特性详解
查看>>
Maven学习总结(五)——聚合与继承
查看>>
Oracle AWR 阙值影响历史执行计划
查看>>
集成显卡连接显示器的线跟独立显卡的不同么,分别叫什么
查看>>
我的友情链接
查看>>
Java是传值还是传引用
查看>>
文件夹权限
查看>>
【翻译】Siesta事件记录器入门
查看>>
将Ext JS 5应用程序导入Web项目以及实现本地化
查看>>
HTML5开发手机项目—个人总结
查看>>
《完整部署 OCS-NG》
查看>>
codeforces 812B. Sagheer, the Hausmeister
查看>>
第24周SDAI缓解能否预测远期RA骨破坏受抑制
查看>>