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

深入解析:OpenCV CUDA模块图像处理------创建CUDA加速的Canny边缘检测器对象createCannyEdgeDetector()

深入解析:OpenCV CUDA模块图像处理------创建CUDA加速的Canny边缘检测器对象createCannyEdgeDetector()

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

算法描述

该函数用于创建一个 CUDA 加速的 Canny 边缘检测器对象(CannyEdgeDetector),可以在 GPU 上高效执行 Canny 边缘检测算法。
它返回的是一个智能指针 Ptr,可以通过这个指针调用 .detect() 方法来对图像进行边缘检测。
Canny 是一种经典的多阶段边缘检测算法,包含以下几个步骤:

OpenCV 的 cv::cuda::CannyEdgeDetector 类在 GPU 上实现了上述流程,适用于需要实时性或大规模图像处理的场景。

函数原型

Ptr<CannyEdgeDetector> cv::cuda::createCannyEdgeDetector(double low_thresh,double high_thresh,int apperture_size = 3,bool L2gradient = false)

参数

代码示例

#
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/stich1.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_edges;d_img.upload( h_img );// Step 3: 创建 Canny 边缘检测器(GPU 版)double low_thresh = 50;double high_thresh = 150;cv::Ptr< cv::cuda::CannyEdgeDetector > canny = cv::cuda::createCannyEdgeDetector( low_thresh, high_thresh );// Step 4: 执行边缘检测canny->detect( d_img, d_edges );// Step 5: 下载结果并显示cv::Mat h_edges;d_edges.download( h_edges );cv::imshow( "Original Image", h_img );cv::imshow( "Edges", h_edges );cv::waitKey( 0);return 0;}

运行结果

在这里插入图片描述

http://www.jsqmd.com/news/9496/

相关文章:

  • 机器人技术奖学金项目助力STEM教育发展
  • busybox 没有 clear 命令吗
  • 实用指南:Hive SQL 中 BY 系列关键字全解析:从排序、分发到分组的核心用法
  • 高阶数据结构——并查集 - 详解
  • 经过基于流视频预测的可泛化双手运行基础策略
  • 进程——环境变量及软件地址空间
  • 【HarmonyOS 5】鸿蒙Taro跨端框架 - 教程
  • 解决Docker存储空间不足问题 - 指南
  • 深入解析:C++ 内存泄漏检测器设计
  • 实用指南:实践篇:利用ragas在自己RAG上实现LLM评估②
  • 完整教程:数据结构:递归的种类(Types of Recursion)
  • Nova Premier模型安全评估结果解析
  • 改写自己的浏览器插件工具 myChromeTools - 详解
  • 通过litestream 进行sqlite-vec 数据备份以及恢复
  • 对于路由使用的ref的疑问
  • Paypal 设置不自动换汇
  • 诺贝尔生理与医学奖颁给这项革命技术,多家中国公司已布局!(附名单)
  • 钱璐璐,唯一通讯发Nature,作者仅2人!
  • 华为员工工资待遇表:
  • 体验mcp服务的开发集成和演示过程 - 智慧园区
  • AI技术全景解析:从架构设计到社会影响
  • 随手记 | 关于AI最新趋势和未来发展方向探讨
  • # Redis vs ElasticSearch 搜索性能对比
  • Redis部署策略
  • AI骚扰电话:技术发展的双刃剑效应
  • 早期白板编程案例
  • 【Claude 3.5 Sonnet 生成】AI时代软件行业发展趋势与开发者成长路径分析报告
  • 何夜无雨 - Ishar
  • caddy搭建静态+PHP+伪静态Web服务器
  • 全自动 AI 视频创作与发布工具:LuoGen-agent