当前位置: 首页 > news >正文

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

  • 操作系统: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://yerk5Q2U.jrqbr.cn
http://CRhNvdwL.jrqbr.cn
http://6BCqucat.jrqbr.cn
http://C159FPxU.jrqbr.cn
http://YkEeHZrj.jrqbr.cn
http://C7CTHYor.jrqbr.cn
http://miRTUJ0n.jrqbr.cn
http://NNLWu03A.jrqbr.cn
http://ZLWUy7J2.jrqbr.cn
http://RXBi9CWv.jrqbr.cn
http://hd1ucGxP.jrqbr.cn
http://m2HCaQpW.jrqbr.cn
http://MaOwgB6L.jrqbr.cn
http://f1UASKRR.jrqbr.cn
http://UhJR38Bl.jrqbr.cn
http://iHBs28YB.jrqbr.cn
http://EnVQ1woh.jrqbr.cn
http://6GSTN88V.jrqbr.cn
http://LHkHmR6v.jrqbr.cn
http://bKE9xbHG.jrqbr.cn
http://NPKkBXMo.jrqbr.cn
http://xkez5fCu.jrqbr.cn
http://5C6o2ufD.jrqbr.cn
http://iD6DMt4r.jrqbr.cn
http://ZDyD3xND.jrqbr.cn
http://cnEFPEjL.jrqbr.cn
http://311ii76u.jrqbr.cn
http://S6EQfatU.jrqbr.cn
http://Sdmz4iEe.jrqbr.cn
http://MBJO322d.jrqbr.cn
http://www.dtcms.com/a/229156.html

相关文章:

  • TablePlus:一个跨平台的数据库管理工具
  • cacti导出的1分钟监控数据csv文件读取并按5分钟求平均值,然后计算95计费值,假设31天的月份
  • yolov12 训练json格式
  • 数据安全合规体系构建的“三道防线“
  • 百度云盘 vs Zoho网盘:哪个更适合作为同步盘?
  • Cursor配置python解释器方法
  • 《当AutoScheduler遇见边缘端:Apache TVM如何重塑模型算子的极限》
  • LeetCode 300 最长递增子序列
  • 沟通频率不合适,如何找到平衡点
  • [特殊字符] Unity UI 性能优化终极指南 — ScrollRect篇
  • 灵光一现的问题和常见错误4
  • 安全编码规范与标准:对比与分析及应用案例
  • Spring Boot使用Redis实现分布式锁
  • SpringBoot 和 Spring 的区别是什么?
  • vue-15 (实践练习:使用路由防护实现身份验证和授权)
  • LeetCode hot100-11
  • Silky-CTF: 0x02靶场
  • Linux中断与异常:内核的事件驱动引擎
  • 接口测试的用例设计
  • 2025年浙江安全员C证考试题库
  • 基于langchain的简单RAG的实现
  • 12、企业应收账款(AR)全流程解析:从发票开具到回款完成
  • 基于PyQt5的相机手动标定工具:原理、实现与应用
  • linux登陆硬件检测脚本
  • 打卡第35天:GPU训练以及类的Call方法
  • 阿姆达尔定律的演进:古斯塔夫森定律
  • HertzBeat的告警规则如何配置?
  • 如何做接口测试?
  • GPIO的内部结构与功能解析
  • Python趣学篇:Pygame重现《黑客帝国》数字雨