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 小时前
数据结构之堆
c语言·数据结构·c++·算法·
Sirius Wu2 小时前
OpenClaw Model Provider(模型提供商)完整详解
服务器·网络·人工智能·安全·aigc
1234Wu2 小时前
企业网站建设与SEO之后,如何补上GEO让AI搜索推荐你的品牌?
人工智能
产品推荐官2 小时前
2026年AI应用开发服务商的选择逻辑:适配度比功能清单更重要
大数据·人工智能·ai·技术分享·开发经验
虹科网络安全2 小时前
“顶会”看安全(十六):深入分析函数内联及其对基于机器学习的二进制分析的安全影响
人工智能·安全·机器学习
麻雀飞吧2 小时前
最新量化实现难点,规则和流程要先有形状
人工智能·python
武子康2 小时前
权重已到、Recipe 还在变:Kimi K3 发布后该怎样做工程验收
人工智能·后端·agent
Urbano2 小时前
打破缝制品类偏见:工序模板机跨界生产家居收纳布艺,实现服装与家居制品通用智造
人工智能·自动化
rrrjqy2 小时前
风险与组合管理——Quant-for-Beginners 量化入门Task6
大数据·人工智能
小蒋学算法2 小时前
算法-删除元素后最大固定点数目-典型最长增长序列算法
数据结构·算法