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

news/2025/10/7 9:11:59/文章来源:https://www.cnblogs.com/ljbguanli/p/19128186

深入解析: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.mzph.cn/news/930240.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中小企业网站制作407网站后台管理系统进不去怎么办

MySQL单列索引是我们使用MySQL数据库中经常会见到的&#xff0c;MySQL单列索引和组合索引的区别可能有很多人还不是十分的了解&#xff0c;下面就为您分析两者的主要区别&#xff0c;供您参考学习。 为了形象地对比两者&#xff0c;再建一个表&#xff1a; CREATE TABLE myInde…

网站设计弹窗厦门seo外包公司

PS&#xff1a;基于一点小小兴趣&#xff0c;写了这篇笔记。 点构图 中心点构图 将主体放到画面中心。突出主体&#xff0c;但会显得有些平庸没有太出彩的地方&#xff0c;较为呆板。拍摄人物的话可以结合景色拍摄一些人物表达出明显情绪或者动作充满活力的姿态。 三分点构图…

机器人技术奖学金项目助力STEM教育发展

某机构机器人部门宣布2022年"第一天奖学金"14位获奖者,该项目支持来自 underrepresented 背景的学生攻读机器人、工程、计算机科学等领域的硕士学位,提供全额奖学金、实习机会和行业导师指导。机器人技术奖…

三、Sqoop 全量导入核心命令 - 实践

三、Sqoop 全量导入核心命令 - 实践2025-10-07 09:05 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !imp…

喀什做网站wordpress活动召集插件

spark的集群主要有三种运行模式standalone、yarn、mesos&#xff0c;其中常被使用的是standalone和yarn&#xff0c;本文了解一下什么是standalone运行模式&#xff0c;并尝试搭建一个standalone集群 一、standalone模式 standalone模式&#xff0c;是spark自己实现的&#xf…

手机怎么做优惠券网站怎么样黑进网站后台

----------------| 本文目录 |---------------- 1. 进程1.1 基本概念1.2 描述进程 - PCB1.2.1 task_struct - PCB的一种1.2.2 task_struct 内容分类 1.3 组织进程1.4 查看进程1.5 通过系统调用获取进程标示符1.6 通过系统调用创建进程 - fork初识 2. 进程状态2.1 看看Linux内核…

网站备案注销找哪个部门网站建设 阳江

时光飞逝&#xff0c;一转眼24年的第一个季度已经过去了&#xff0c;回望这3个多月&#xff0c;感触颇多。首先&#xff0c;24年从一个一心只读圣贤书&#xff0c;全身心投入在技术上的研发工程师&#xff0c;转变为一个团队的小leader。从我个人对自己的定位来说&#xff0c;我…

SAP ABAP 事务码 RZ12 里的 Max Number of WPs Used 参数的作用介绍

在 SAP 系统中,Max Number of WPs Used 参数在事务码 RZ12 中的 RFC 服务器组配置中扮演了非常关键的角色。这个参数定义了在该服务器组中可以使用的工作进程(Work Process, WP)的最大数量。工作进程是 SAP 系统中执…

中国煤炭建设协网站wordpress怎么装修网页

为什么要学习设计模式&#xff1f; 要知道设计模式就是软件工程的方法经验的总结&#xff0c;也是可以认为是过去一段时间软件工程的一个最佳实践&#xff0c;要理解&#xff0c;不要死记硬背。掌握这些方法后&#xff0c;可以让你的程序获得以下好处&#xff1a; 代码重用性…

建设银行 北京招聘网站学校如何建设网站

1. 引言 本文将从Web应用程序处理请求时需要用户信息&#xff0c;同时HTTP又是无状态协议这个矛盾点出发。从该问题出发&#xff0c;简单描述了解决该问题的Token 机制&#xff0c;进而引出Cookie的实现方案。 基于此我们将详细描述Cookie的规范&#xff0c;然后详细描述具体…

广州专业的网站建设公司哪家好黄骅在线

刚刚接触Mendix低代码两周&#xff0c;花了一周在b站看初级视频然后考完初级&#xff0c;第二周开始做个列表查询感觉照葫芦画瓢没啥难度。但最近要求写个导出列表数据&#xff0c;在mendix社区翻了翻&#xff0c;这个功能算是常见的。找了mendix官方提供的Docs磕磕盼盼才实现了…

busybox 没有 clear 命令吗

是的,BusyBox 默认不包含 clear 命令。 替代方案 1. 使用 echo 命令bash 复制下载echo -e "\033c"或者bash 复制下载printf "\033c"2. 使用快捷键 在终端中按 Ctrl + L 也可以清屏 3. 创建别名…

实用指南:Hive SQL 中 BY 系列关键字全解析:从排序、分发到分组的核心用法

实用指南:Hive SQL 中 BY 系列关键字全解析:从排序、分发到分组的核心用法pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-fami…

高阶数据结构——并查集 - 详解

高阶数据结构——并查集 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&quo…

网站建设方案范文网站建设详细报价

继续炒股。第一题是买卖股票的最佳时机IIIhttps://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iii/description/&#xff0c;与上题不同的是&#xff0c;本题要求买卖的次数要限制在2次以内。对上题的dp数组&#xff0c;显然要增加它的状态以适应题目要求。对于遍历…

经过基于流视频预测的可泛化双手运行基础策略

经过基于流视频预测的可泛化双手运行基础策略pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &qu…

公司网站打不开微博+wordpress

1. 不说负能量的话&#xff0c;会引发自己的负能量 在日常生活中&#xff0c;我们的语言不仅能够影响他人&#xff0c;更能影响我们自己。负能量的话语&#xff0c;如抱怨、批评或消极的自我对话&#xff0c;会潜移默化地影响我们的心态和情绪。为了维持积极的心态&#xff0c…

进程——环境变量及软件地址空间

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

软件开发与网站开发的区别网站落地页如何做

/*java中的集合类 实现了 Connection接口ArrayList这个集合类 java.util.*这个包的类toArray()方法可以返回一个 Object类型的对象数组我们部队 ArratList进行泛型规范那么就会警告 但是还是可以运行的这是因为JDK1.5中引进了泛型&#xff0c;但是你的ArrayList却没有采用&a…

高唐做网站建设的公司小皮怎么创建网站

目录 题目答案运行结果 题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组…