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

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

相关推荐
回眸&啤酒鸭5 天前
【回眸】Minicart 电商购物车核心功能落地指南
人工智能
一隅论数智5 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
倒头就睡的小比特5 天前
算法竞赛C++常用的STL
c++·算法
AI的探索之旅5 天前
97 个 OpenCV 实例(三十):双目立体,从标定到点云
人工智能·opencv·计算机视觉
AlbertZein5 天前
Step-5-Preview 上手实测:3D 游戏、金融分析、网页设计一次跑完
人工智能·aigc
小羊没烦恼!5 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
LaughingZhu5 天前
Product Hunt 每日热榜 | 2026-09-19
人工智能·深度学习·神经网络·搜索引擎·百度
美狐美颜SDK开放平台5 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
wukangjupingbb5 天前
智能网联汽车安全能力框架
人工智能