C# 基于OpenCv的视觉工作流-章38-BF特征匹配

C# 基于OpenCv的视觉工作流-章38-BF特征匹配

本章目标:
一、 暴力特征匹配原理;
二、 创建匹配器;
三、 特征匹配;
四、 匹配点筛选;
五、绘制匹配点;

特征匹配首先获取两幅图像的特征点与描述子,然后再对描述子进行匹配;特征匹配有多种,本章介绍暴力特征匹配。

一、暴力特征匹配原理

关于特征点与描述子的获取,章24-SURF特征点已介绍,不再详述。详细原理,见文末链接


二、 创建匹配器

OpenCv 暴力特征匹配可如下创建

BFMatcher matcher = new BFMatcher(NormTypes.L1, true);

其中:参数1,为计算距离方式;

参数2,为是否进行交叉匹配;

三、 特征匹配;

OpenCv 暴力特征匹配可如下使用

DMatch\[\] matches = matcher.Match(descriptors1, descriptors2);

其中:参数1,为查找图(模板小图)的描述子;

参数2,为待匹配图(大图)的描述子;

注:匹配返回的结果中,有匹配的距离,根据距离可筛选符合要求的特征点

四、 匹配点筛选

通过C#相应语法查找即可

DMatch\[\] goodMatches = matches.Where((m, i) => m.Distance < distance).ToArray();

其中:参数distance,为指定距离值;

说明:匹配得到的距离,值越小越相似,所以取小于指定距离值的点,作为最终的匹配点。

五、绘制匹配点

OpenCv 绘制匹配点可如下使用

Mat imgMatches = new Mat();

Cv2.DrawMatches(image1, keyPoints1, Image2, keyPoints2, goodMatches, imgMatches);

其中:参数1,为输入图像1;

参数2,为输入图像1特征点;

参数3,为输入图像2;

参数4,为输入图像2特征点;

参数5,为匹配特征点;

参数6,为输出图像;

效果如下图

参考链接

https://www.bilibili.com/video/BV1RFtpeJE6h?spm_id_from=333.788.videopod.episodes\&vd_source=3f9438f03abb9d3e91fda0640164d626\&p=76

"VisionTool 探迹"免费视觉工具

下载地址:https://pan.baidu.com/s/11tktKOSnepLNIEqNbvnv6w?pwd=qv5i

版本已更新为V1.0.0.2,更新内容如下:

1.增加点查找;

2.增加交点查找;

3.增加轮廓点距,实现两轮廓各点间距测量;

4.增加点-点间距,实现独立点与独立点的距离测量;

5.增加点-线间距,实现独立点与独立线的距离测量;

6.增加线-线间距,实现独立线与独立线的距离测量;

7.增加线-线角度,实现独立线与独立线的角度测量;

8.增加轮廓段距,实现两轮廓的分段间距测量;

9.缺陷检测模块中,修复ROI显示功能;

"VisionTool Halcon"付费视觉工具

下载地址:https://pan.baidu.com/s/1v832KTonDYS6oNnWG2iZtQ?

对应系列文章"C# 基于Halcon的视觉工作流",欢迎前往阅读。

上述内容需要一定的技术功底,本章至此已结束,欢迎阅读下章,谢谢!

相关推荐
宸津-代码粉碎机3 小时前
OpenAI 连夜迎战 Grok Bot 和 Muse:AI 智能体从 “会聊天” 到 “能办事”,现在入场还来得及吗
java·大数据·人工智能·分布式·python
专注仿真4 小时前
ACM算法
算法·深度优先
做萤石二次开发的哈哈4 小时前
视频解码器怎么对接?解码上墙、电视墙开窗与场景切换的ISAPI接入实战
人工智能·物联网·监控·视频编解码·大屏端·萤石开放平台·蓝海aiot一站式工作台
Leo.yuan4 小时前
2026年本地化Data Agent优质厂商盘点:哪些产品更适合企业生产环境
大数据·数据库·人工智能
长谷深风1114 小时前
Tool与Skill:AI能力设计的分水岭
java·人工智能·ai·大模型·aiagent
科技观察哨4 小时前
六足平台选型与纳米定位系统集成:HEB-640六自由度位移台在半导体光刻对准中的参数边界与国产替代评估
前端·人工智能
云上先途5 小时前
任务智能体可以自动完成哪些类型工作,是不是只能做简单重复操作?
大数据·人工智能
明志数科5 小时前
具身智能数据供给的分层:分布式采集与入厂采集的工程边界分析
人工智能·机器学习·机器人
像风一样自由20205 小时前
41.用FastAPI搭建一个RAG后端需要哪些接口
人工智能·大模型·fastapi·rag·智能体
小蒋观天下5 小时前
两轮车检测AI摄像头——2026行业竞争格局、商业模式与核心痛点
大数据·人工智能·安全·计算机视觉·ai大模型