OpenCV之特征点匹配

特征点选取

特征点探测方法有goodFeaturesToTrack(),cornerHarris()和SURF()。一般使用goodFeaturesToTrack()就能获得很好的特征点。goodFeaturesToTrack()定义:

复制代码
void goodFeaturesToTrack( InputArray image, 
                          OutputArray corners,
                          int maxCorners, 
                          double qualityLevel, 
                          double minDistance,
                          InputArray mask = noArray(), 
                          int blockSize = 3,
                          bool useHarrisDetector = false, 
                          double k = 0.04 );

image:源图像;

corners:检测到的特征点位置;

maxcorner:为返回的特征点个数设置上限。

qualityLevel:反映出一个角形特征在它之前的强度,设置较低的值会返回更多的点;

minDistance:特征点之间的最小距离;

mask:如果mask(i,j)=0,那么不考虑像素p(i,j);

blockSize:一个用于计算的像素周围的大小

useHarrisDetector:是否使用原来的哈里斯角探测器或一个最小特征值准则。

k:哈里斯角探测器的一个自由参数。

特征点跟踪

特征点跟踪使用光流算法:利用OpenCV光流算法实现视频特征点跟踪_视图猿人的博客-CSDN博客

为了进一步提高跟踪的准确度,采用正向和反向两次光流跟踪:

对于特征点P(i,j),其正向光流算法计算出的位置为D(x,y);

对D(x,y)点再次使用光流算法,得到位置Q(m,n);

如果P==Q,也就是两个位置相同,那么就留下特征点P

相关推荐
云和数据.ChenGuang2 分钟前
chromadb为什么需要模拟数据运行
人工智能·神经网络·目标检测·机器学习·计算机视觉
freewlt3 分钟前
OpenClaw开发者深度指南:如何构建可扩展的AI助手生态系统
人工智能·openclaw
bitbrowser3 分钟前
如何仿真拟人输入,避免被ai检测成机器人?
人工智能·机器人
秦始皇爱找茬3 分钟前
Claude Code 文件层级机制详解
人工智能·codex·claude code·open code
wapicn994 分钟前
智能识别技术在生活服务领域的落地应用与前景展望
java·c++·人工智能·python·php
Deepoch5 分钟前
Deepoc具身模型开发板:重塑采摘机器人的“农艺大脑”
人工智能·机器人·开发板·采摘机器人·具身模型·deepoc·智能无人机
Web极客码6 分钟前
从 OpenClaw 的安全危机到 DefenseClaw:构建 AI Agent 的治理层
人工智能·安全
黎阳之光6 分钟前
AI数智筑防线 绿色科技启新篇,如何用硬核技术赋能生态安全双升级
人工智能·科技·算法·安全·数字孪生
Guheyunyi8 分钟前
安全风险预警系统的核价值与战略意义
大数据·人工智能·科技·安全·信息可视化
云和数据.ChenGuang9 分钟前
AI向量数据库chromadb的swagger-ui的运行使用教程
大数据·数据库·人工智能·ui·向量数据库·向量计算