当前位置: 首页 > 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.hskmm.com/?act=detail&tid=25920

相关文章:

  • 机器人技术奖学金项目助力STEM教育发展
  • SAP ABAP 事务码 RZ12 里的 Max Number of WPs Used 参数的作用介绍
  • busybox 没有 clear 命令吗
  • 实用指南:Hive SQL 中 BY 系列关键字全解析:从排序、分发到分组的核心用法
  • 经过基于流视频预测的可泛化双手运行基础策略
  • 每个JavaScript开发者都应掌握的33个核心概念
  • 解决Docker存储空间不足问题 - 指南
  • 完整教程:数据结构:递归的种类(Types of Recursion)
  • Nova Premier模型安全评估结果解析
  • Paypal 设置不自动换汇
  • 诺贝尔生理与医学奖颁给这项革命技术,多家中国公司已布局!(附名单)
  • 钱璐璐,唯一通讯发Nature,作者仅2人!
  • 华为员工工资待遇表:
  • 体验mcp服务的开发集成和演示过程 - 智慧园区
  • AI技术全景解析:从架构设计到社会影响
  • 对话系统中零样本与少样本学习技术解析
  • 随手记 | 关于AI最新趋势和未来发展方向探讨
  • 何夜无雨 - Ishar
  • 玩转树莓派屏幕之四:适配tslib增加触屏准确度
  • caddy搭建静态+PHP+伪静态Web服务器
  • 全自动 AI 视频创作与发布工具:LuoGen-agent
  • 静态库.a与.so库文件的生成与使用
  • CF2145D Inversion Value of a Permutation
  • 牛客刷题-Day8
  • Educational Codeforces Round 183 (Rated for Div. 2)
  • 高三闲话 #2
  • D. Inversion Value of a Permutation edu div2
  • 个人博客公告
  • 一个刚大一的普通大学生
  • 通过利用百度对于外链的检测算法上的缺陷