C# 基于OpenCv的视觉工作流-章40-特征找图

C# 基于OpenCv的视觉工作流-章40-特征找图

本章目标:
一、 图像查找原理;
二、 特征匹配;
三、 计算变换矩阵;
四、 目标定位;

特征找图是提取查找图像的特征,去匹配被找图像的特征(即在章38、章39的基础上),得到匹配的两组特征点后,用两组特征点计算出变换关系(变换矩阵),最后将查找图像四角点,通过变换矩阵,计算出四角点在被找图中的位置,实现定位。。

一、图像查找原理

如下图,根据两图中的点对应关系,可计算得到变换矩阵。详细原理,见文末链接

计算矩阵可用此算子

二、 特征匹配

参考章38-BF特征匹配,不再详述

三、 计算变换矩阵

OpenCv 单应性矩阵可如下使用

Mat HMat = Cv2.FindHomography(point1, point2, HomographyMethods.Ransac, ransacReprojThreshold, null);

其中:参数1,为查找图(模板小图)的匹配点;

参数2,为被查找图(大图)的匹配点;

参数3,为计算方法;

参数4,为允许错误阈值;

说明:匹配点至少四个(四个计算方程式)

四、目标定位

先计算原图像的四个角点,组成点数组,再通过变换矩阵计算出在被找图中的四点位置。

OpenCv可如下使用

var srcPoint = Cv2.PerspectiveTransform(img1Bounds, HMat);

其中:参数1,为查找图(模板小图)的四个角点;

参数2,为变换矩阵;

srcPoint,为输出的定位点;

将定位点绘制成矩形框,效果如下图,得到图像的定位

"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的视觉工作流",欢迎前往阅读。

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

相关推荐
OpenVINO 中文社区4 分钟前
OpenVINO™正式进入 llama.cpp:GGUF 模型现已支持 Intel CPU、GPU 与 NPU
人工智能·openvino·英特尔
MicroTech20255 分钟前
突破虚时演化非酉限制:MLGO微算法科技发布可在现有量子计算机运行的变分量子模拟技术
科技·算法·量子计算
ZKNOW甄知科技9 分钟前
数智同行:甄知科技2026年Q1季度回顾
运维·服务器·人工智能·科技·程序人生·安全·自动化
呆呆敲代码的小Y10 分钟前
【Unity工具篇】| 游戏完整资源热更新流程,YooAsset官方示例项目
人工智能·游戏·unity·游戏引擎·热更新·yooasset·免费游戏
jikemaoshiyanshi10 分钟前
B2B企业GEO服务商哪家好?深度解析径硕科技(JINGdigital)及其JINGEO产品为何是首选
大数据·运维·人工智能·科技
Lab_AI11 分钟前
浩天药业携手创腾科技,开启研发数字化新篇章!电子实验记录本(ELN)落地浩天药业
人工智能
hssfscv12 分钟前
软件设计师下午题六——Java的各种设计模式
java·算法·设计模式
supericeice12 分钟前
大模型建筑隐患管理方案怎么做?创邻科技用知识图谱、图数据库和企业AI大脑打通隐患问答、整改与推荐
人工智能·科技·知识图谱
蕤葳-16 分钟前
非编程背景学习AI的方法
人工智能
北京耐用通信19 分钟前
不换设备、不重写程序:耐达讯自动化网关如何实现CC-Link IE转Modbus TCP的高效互通?
人工智能·科技·物联网·网络协议·自动化·信息与通信