C# 基于OpenCv的视觉工作流-章22-Harris角点

C# 基于OpenCv的视觉工作流-章22-Harris角点

本章目标:
一、图像特征;
二、角点数学原理;
三、角点检测;


一、图像特征;

角点属于图像特征的一种,在进行角点检测前,可先了解一下图像特征。

特征的唯一性、可追踪性、可比较性,在模板匹配中常用来进行目标定位。

二、角点数学原理

如下图,简易理解:

图1,卷积核在平坦区扫描,XY方向灰度梯度变化不大,不属特征;

图2,卷积核在边缘区扫描,仅一个方向灰度梯度变化不大,另一个方向变化大,属边缘;

图3,卷积核在拐角处扫描,两个方向灰度梯度变化都大,属角点;

详细数学推导,看文末链接

三、角点检测;

1、提取角点

//角点检测,每一个像素都可以计算出一个角点响应值

OpenCv角点检测可如下使用

Mat cornerDst = new Mat();

Cv2.CornerHarris(image, cornerDst, blockSize, ksize, k);

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

参数2,为输出图像;

参数3,为检测窗口大小;

参数4,为卷积核;

参数5,为权重系数;

2、取最大角点值

OpenCv角点最大值可如下使用

Cv2.MinMaxLoc(cornerDst, out double minVal, out double maxVal, out OpenCvSharp.Point minLoc, out OpenCvSharp.Point maxLoc, new Mat());

其中:参数1,为输入角点;

参数2,为输出最小值;

参数3,为输出最大值;

参数4,为输出最小值坐标;

参数5,为输出最大值坐标;

3、筛选角点

以自定义系数(一般为0.01)*最大角点值,作为筛选条件。

效果如下图

参考链接

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

"VisionTool 探迹"免费视觉工具

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

"VisionTool Halcon"付费视觉工具

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

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

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

相关推荐
靠沿2 小时前
【优选算法】专题十八——BFS解决拓扑排序问题
算法·宽度优先
AI英德西牛仔2 小时前
豆包公式格式
人工智能·ai·deepseek·ds随心转
cui_ruicheng2 小时前
C++数据结构进阶:哈希表实现
数据结构·c++·算法·哈希算法·散列表
benben0442 小时前
Triton编程技术背诵核心概念
人工智能
前端摸鱼匠2 小时前
面试题4:多头注意力(MHA)相比单头注意力的优势是什么?Head数如何影响模型?
人工智能·ai·面试·职场和发展·求职招聘
yhdata2 小时前
车载图像处理芯片发展按下“快进键”:至2032年市场规模将逼近27.29亿元,产业动能强劲
图像处理·人工智能
NOCSAH2 小时前
统好AI数智平台CRM:智能驱动客户管理新体验
人工智能·数智化一体平台·统好ai
li星野2 小时前
[特殊字符] 模拟试卷一:C++核心与系统基础(90分钟)答案版
开发语言·c++·算法
视***间2 小时前
2026:AI算力元年的加冕与思辨
人工智能·microsoft·机器人·边缘计算·智能硬件·视程空间
径硕科技JINGdigital2 小时前
B2B工业制造企业GEO供应商排名审视:以专业交付能力为核心的选型指南
大数据·人工智能·科技