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

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

该函数创建一个 基于最小特征值(Minimum Eigenvalue)的角点响应计算对象,这是另一种经典的角点检测方法(类似于 Shi-Tomasi 角点检测器)。

返回的是 cv::Ptrcv::cuda::CornernessCriteria 类型的对象,可用于后续调用 .compute() 方法对图像进行角点响应计算。

函数原型

cpp 复制代码
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。

代码示例

cpp 复制代码
#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: 将图像上传到 GPU
    cv::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;
}

运行结果

相关推荐
PaperData7 分钟前
2000-2023年地级市数字基础设施评价指标体系
大数据·网络·数据库·人工智能·数据分析·经管
政安晨8 分钟前
政安晨【OpenClaw与Hermes指南】AI Coding Agent行为约束之道:Karpathy CLAUDE.md技能体系深度解读
人工智能·ai coding·karpathy·agent行为约束之道·karpathy claude·技能体系解读·agent技能
ZYH_Core8 分钟前
DeepSeek V4 实战测评
人工智能·ai·ai编程
70asunflower16 分钟前
从Token到芯片:AI推理时代的效率竞争与市场逻辑
人工智能
xrgs_shz20 分钟前
MATLAB 纹理特征提取:一文读懂 graycomatrix 与 graycoprops
人工智能·计算机视觉·matlab
BlockChain88824 分钟前
AI+区块链深度探索:算法与账本的共生时代
人工智能·算法·区块链
生成论实验室34 分钟前
《源·觉·知·行·事·物:生成论视域下的统一认知语法》第一章 源:不可言说的生成之源
人工智能·科技·算法·生活·创业创新
jinglong.zha39 分钟前
AI萌宠短剧实战:从0孵化动物IP,用AI制作爆款短视频
人工智能·ai·音视频·网赚教程·萌宠
AI医影跨模态组学44 分钟前
如何将CT影像语义特征与肝癌术后辅助TACE获益相关的免疫抑制性肿瘤微环境建立关联,并进一步解释其与预后、PA-TACE治疗响应的机制联系
人工智能·深度学习·论文·医学·医学影像·影像组学
汤姆yu1 小时前
OpenAI GPT-5.5 全面详解与使用
人工智能·openai