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的n次方_6 小时前
ops-math 极限精度优化:INT8/INT4 基础运算的底层指令集映射与核函数复用
人工智能
AI袋鼠帝6 小时前
Claude4.5+Gemini3 接管电脑桌面,这回是真无敌了..
人工智能·windows·aigc
Lun3866buzha6 小时前
农业害虫检测_YOLO11-C3k2-EMSC模型实现与分类识别_1
人工智能·分类·数据挖掘
子春一7 小时前
Flutter for OpenHarmony:构建一个 Flutter 四色猜谜游戏,深入解析密码逻辑、反馈算法与经典益智游戏重构
算法·flutter·游戏
方见华Richard7 小时前
世毫九量子原住民教育理念全书
人工智能·经验分享·交互·原型模式·空间计算
忆~遂愿7 小时前
GE 引擎进阶:依赖图的原子性管理与异构算子协作调度
java·开发语言·人工智能
凯子坚持 c7 小时前
CANN-LLM:基于昇腾 CANN 的高性能、全功能 LLM 推理引擎
人工智能·安全
学电子她就能回来吗7 小时前
深度学习速成:损失函数与反向传播
人工智能·深度学习·学习·计算机视觉·github
The Straggling Crow7 小时前
model training platform
人工智能