OpenCV CUDA模块特征检测------角点检测的接口createMinEigenValCorner()

article/2025/6/7 12:20:09
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

该函数创建一个 基于最小特征值(Minimum Eigenvalue)的角点响应计算对象,这是另一种经典的角点检测方法(类似于 Shi-Tomasi 角点检测器)。
返回的是 cv::Ptrcv::cuda::CornernessCriteria 类型的对象,可用于后续调用 .compute() 方法对图像进行角点响应计算。

函数原型

Ptr<CornernessCriteria> cv::cuda::createMinEigenValCorner 	
( int  	srcType,int  	blockSize,int  	ksize,int  	borderType = BORDER_REFLECT101 
) 		

参数

  • srcType 输入源类型。目前仅支持 CV_8UC1 和 CV_32FC1。
  • blockSize 邻域大小。
  • ksize Sobel 算子的孔径参数。
  • borderType 像素外推方法(边界填充方式)。目前仅支持 BORDER_REFLECT101 和 BORDER_REPLICATE。

代码示例

#include <iostream>
#include <opencv2/cudaimgproc.hpp>
#include <opencv2/opencv.hpp>int main()
{// Step 1: 加载图像并转换为灰度图cv::Mat h_img = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/chessboard.png", cv::IMREAD_GRAYSCALE );if ( h_img.empty() ){std::cerr << "Failed to load image!" << std::endl;return -1;}// Step 2: 将图像上传到 GPUcv::cuda::GpuMat d_img, d_corners;d_img.upload( h_img );// Step 3: 创建 MinEigenVal 角点检测器int srcType   = d_img.type();  // 图像类型(如 CV_8UC1)int blockSize = 3;             // 邻域大小int ksize     = 3;             // Sobel 核大小cv::Ptr< cv::cuda::CornernessCriteria > criteria = cv::cuda::createMinEigenValCorner( srcType, blockSize, ksize );// Step 4: 执行角点响应计算criteria->compute( d_img, d_corners );// Step 5: 下载结果并显示cv::Mat h_corners;d_corners.download( h_corners );cv::normalize( h_corners, h_corners, 0, 255, cv::NORM_MINMAX, CV_8U );cv::imshow( "original picture", h_img );cv::imshow( "Min EigenVal Corner Response", h_corners );cv::waitKey( 0 );return 0;
}

运行结果

在这里插入图片描述


http://www.hkcw.cn/article/JDyXAAroLu.shtml

相关文章

Java高级 | (二十二)快速应用开发框架——Spring Boot

一、使用IDEA搭建SpringBoot项目 二、创建控制器类 1、先运行项目。 如果配置正常&#xff0c;ldea运行界面如下&#xff0c;表示启动正常。 2、创建控制器类 鼠标右击controller包&#xff0c;点击new->Java Class,在弹出的对话框中输入“HelloController”并按回车健&a…

Linux 安装 JDK

Linux中JDK安装 文件路径在root目录&#xff0c;请根据实际情况进行修改 1、上传并解压 tar -zxvf /root/jdk-8u333-linux-x64.tar.gz2、移动解压后的文件夹到/usr/local 目录下&#xff0c; mv /root/jdk1.8.0_333 /usr/local/此步骤可以不操作&#xff0c;但步骤3中的路径…

简简单单探讨下starter

前言 今天其实首先想跟大家探讨下&#xff1a;微服务架构&#xff0c;分业务线了&#xff0c;接入第三方服务、包啥的是否自己定义一个stater更好&#xff1f; 一、starter是什么&#xff1f; 在 Spring Boot 中&#xff0c;Starter 是一种特殊的依赖模块&#xff0c;用于快速…

字符编码全解析:ASCII、GBK、Unicode、UTF-8与ANSI

UTF - 8(全球字符能被唯一标识)、GBK、Unicode、ANSI 区别与关联 qwen模型分词器文件 1. ASCII(基础铺垫,理解编码起源) 作用:最早期为处理英文文本设计,是字符编码的基础,后演变成其他编码兼容的一部分 。范围:共 128 个字符(0 - 127),包含英文大小写字母、数字…

定时线程池失效问题引发的思考

最近在做的一个新功能&#xff0c;在结果探测的时候使用了定时线程池和普通线程池结合&#xff0c;定时线程池周期性创建子任务并往普通线程池提交任务。 问题&#xff1a; 在昨天测试老师发现&#xff0c;业务实际上已经成功了&#xff0c;但是页面还是一直显示进行中。 收到…

Win11/Win10 打不开 gpedit.msc 之 组策略编辑器安装

目前已整理两种方式&#xff0c;推荐使用第二种方式~ 方式1&#xff1a; 一般家庭版操作系统默认未安装 组策略编辑器&#xff0c; 只需要进行安装一下即可。 到文章结尾按照提示下载相关的bat文件&#xff0c; 下载后右键以管理员身份运行bat文件&#xff0c;&#xff08…

无人机甲烷检测技术革新:开启环境与能源安全监测新时代

市场需求激增&#xff0c;技术革新势在必行 随着全球气候变化加剧&#xff0c;甲烷作为第二大温室气体&#xff0c;其减排与监测成为国际社会关注焦点。据欧盟甲烷法规要求&#xff0c;2024 年起欧洲能源基础设施运营商需定期测量甲烷排放并消除泄漏。与此同时&#xff0c;极端…

谷歌地图手机版(Google maps)v11.152.0100安卓版 - 前端工具导航

谷歌地图(Google maps)是由谷歌官方推出的一款手机地图应用。软件功能强大&#xff0c;支持本地搜索查找世界各地的地址、地点和商家&#xff1b;支持在街景视图中查看世界各地的360度全景图&#xff1b;支持查找乘坐火车、公交车和地铁的路线&#xff0c;或者查找步行路线等 …

H5动态文字效果开发经验分享

这里写目录标题 一、效果介绍二、实现原理与代码解析1. 打字机效果实现2. 渐变文字动画实现 三、开发经验与技巧1. 性能优化2. 兼容性处理3. 用户体验提升 四、应用场景五、扩展思路 一、效果介绍 我们实现了两种常见且实用的文字动效&#xff1a; 打字机效果 &#xff1a;文…

春雪食品×MTC AI助手:创新驱动再升级,效率革命正当时!

当农牧食品企业遇上AI“助手”&#xff0c;会碰撞出怎样的火花&#xff1f;5月26日&#xff0c;春雪食品集团总部迎来了一场特别的签约仪式——携手MTC麦汇信息&#xff0c;共同探索AI数字化之路。春雪食品总裁郑钧、副总裁黄仕敏&#xff0c;MTC麦汇信息董事长卢富平、副总裁徐…

Abaqus连接器弹片正向力分析:

.学习重点: • 外部幾何匯入。 • 建立解析剛性面。 • 利用Partition與局部撒點來提高網格品質。 • 材料塑性行為(材料非線性)。 • 考慮大變形(幾何非線性)。 • 接觸(邊界非線性)。 • 平移組裝。 • 設定輸出參數。 • 討論Shear Locking & Hourglassing效應。 1) 設…

力扣刷题 -- 225. 用队列实现栈

1. 题目 2. 思路分析 思路&#xff1a;1)往非空队列里插入数据&#xff08;入队列&#xff09;&#xff1b; 2&#xff09;将非空队列的前size-1个元素挪到空队列&#xff1b; 3&#xff09;将非空队列的队尾元素出队列&#xff0c;并返回栈顶元素。 3. 代码实现 typedef …

【设计模式-4.7】行为型——备忘录模式

说明&#xff1a;本文介绍行为型设计模式之一的备忘录模式 定义 备忘录模式&#xff08;Memento Pattern&#xff09;又叫作快照模式&#xff08;Snapshot Pattern&#xff09;或令牌模式&#xff08;Token Pattern&#xff09;指在不破坏封装的前提下&#xff0c;捕获一个对…

ADRV9026 JESD204C测试

ADRV9026在650MHz到6GHz的宽频率范围内工作。 接收器通道支持高达200MHz的带宽&#xff0c; 数据传输速率高达24.33 Gbps&#xff0c; 可跨&#xff08;最多&#xff09; 四个JESD204B/JESD204C通道传输。 发射机信道在与接收机相同的频率范围内工作。 每个发射机信道支持高达4…

压缩格式未知或数据损坏:如何应对压缩包无法打开的情况

压缩包在日常工作和生活中非常常见&#xff0c;用于节省空间并方便文件传输。然而&#xff0c;用户在尝试解压文件时&#xff0c;有时会遇到诸如“压缩格式未知”或“数据已损坏”等错误信息。 这种情况可能导致文件无法打开&#xff0c;影响工作效率甚至造成数据丢失。本文将…

升级:用vue canvas画一个能源监测设备和设备的关系监测图!

用vue canvas画一个能源电表和设备的监测图-CSDN博客 上一篇文章&#xff0c;我是用后端的数据来画出监测图。这次我觉的&#xff0c;用前端来控制数据&#xff0c;更爽。 本期实现功能&#xff1a; 1&#xff0c;得到监测设备和设备的数据&#xff0c;然后进行存库 2&…

《数据挖掘》- 房价数据分析

这里写目录标题 采用的技术1. Python编程语言2. 网络爬虫库技术点对比与区别项目技术栈的协同工作流程 代码解析1. 导入头文件2. 读取原始数据3. 清洗数据4. 数据分割4.1 统计房屋信息的分段数量4.2 将房屋信息拆分为独立列4.3 处理面积字段4.4 删除原始房屋信息列 5. 可视化分…

Axure-元件流程图

Axure-02 线框图元件使用 目标 元件基本介绍 基础元件的使用 表单型元件的使用 菜单与表格元件的使用 案例&#xff1a;个人简历表 元件基本介绍 概述 在Axure RP中&#xff0c;元件是构建原型图的基础模块。 将元件从元件库里拖拽到画布中&#xff0c;即可添加元件到你…

深入解析ReactJS中JSX的底层工作原理

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storms…

《Pytorch深度学习实践》ch5-Logistic回归

------B站《刘二大人》 1.Classification 经典的分类数据集&#xff1a;MNIST&#xff08;0 - 9&#xff09; 导入数据集&#xff1a;&#xff08;路径&#xff0c;训练集/测试集&#xff0c;是否下载&#xff09; import torchvision train_set torchvision.datasets.MINI…