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

OpenCV CUDA 模块中图像过滤------创建一个拉普拉斯(Laplacian)滤波器函数createLaplacianFilter()

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

算法描述

cv::cuda::createLaplacianFilter 是 OpenCV CUDA 模块中的一个函数,用于创建一个 拉普拉斯(Laplacian)滤波器。该滤波器常用于图像边缘检测。

函数原型

Ptr<Filter> cv::cuda::createLaplacianFilter 	
(int  	srcType,int  	dstType,int  	ksize = 1,double  	scale = 1,int  	borderMode = BORDER_DEFAULT,Scalar  	borderVal = Scalar::all(0) 
) 		

参数

参数名描述
srcType输入图像类型。支持 CV_8U、CV_16U 和 CV_32F 的单通道和四通道图像。
dstType输出图像类型。目前仅支持与输入图像相同的类型。
ksize用于计算二阶导数滤波器的孔径大小(参见 getDerivKernels)。必须为正奇数。目前只支持 ksize = 1 和 ksize = 3。
scale可选的比例因子,用于对计算得到的 Laplacian 值进行缩放。默认情况下不进行缩放(参见 getDerivKernels)。
borderMode像素外推方法。详细信息请参见 borderInterpolate。
borderVal默认的边界值。

代码示例

#include <opencv2/cudafilters.hpp>
#include <opencv2/cudaimgproc.hpp>
#include <opencv2/opencv.hpp>int main()
{// 读取图像并转换为灰度图cv::Mat h_input = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/Lenna.png", cv::IMREAD_GRAYSCALE );cv::Mat h_output;// 将图像上传到 GPUcv::cuda::GpuMat d_input, d_output;d_input.upload( h_input );// 创建 Laplacian 滤波器cv::Ptr< cv::cuda::Filter > laplacianFilter = cv::cuda::createLaplacianFilter( d_input.type(), d_input.type(), 3  // 使用 3x3 的核);// 应用滤波器laplacianFilter->apply( d_input, d_output );// 下载结果回 CPUd_output.download( h_output );// 显示或保存结果cv::imshow( "Laplacian Output", h_output );cv::waitKey();return 0;
}

运行结果

在这里插入图片描述

http://www.lryc.cn/news/2385403.html

相关文章:

  • 图论学习笔记 3
  • 在单片机中如何在断电前将数据保存至DataFlash?
  • 【将WPS设置为默认打开方式】--突然无法用WPS打开文件
  • 电子人的分水岭-FPGA模电和数电
  • (6)python爬虫--selenium
  • Python之两个爬虫案例实战(澎湃新闻+网易每日简报):附源码+解释
  • HarmonyOS NEXT~鸿蒙系统与mPaaS三方框架集成指南
  • 系统安全及应用学习笔记
  • STC89C52RC/LE52RC
  • ✨ PLSQL卡顿优化
  • yum命令常用选项
  • python+vlisp实现对多段线范围内土方体积的计算
  • 鸿蒙Flutter实战:25-混合开发详解-5-跳转Flutter页面
  • APM32小系统键盘PCB原理图设计详解
  • 【C/C++】多线程开发:wait、sleep、yield全解析
  • uint8_t是什么数据类型?
  • SystemUtils:你的Java系统“探照灯“——让环境探测不再盲人摸象
  • 对象存储(Minio)使用
  • yolov11使用记录(训练自己的数据集)
  • 历史数据分析——宁波港
  • 知识宇宙:技术文档该如何写?
  • DeepSeek 赋能数字农业:从智慧种植到产业升级的全链条革新
  • 技嘉主板怎么开启vt虚拟化功能_技嘉主板开启vt虚拟化教程(附intel和amd开启方法)
  • Java 并发编程高级技巧:CyclicBarrier、CountDownLatch 和 Semaphore 的高级应用
  • PT5F2307触摸A/D型8-Bit MCU
  • 矩阵方程$Ax=b$的初步理解.
  • 线性代数中的向量与矩阵:AI大模型的数学基石
  • [特殊字符] 使用增量同步+MQ机制将用户数据同步到Elasticsearch
  • LeetCode 2942.查找包含给定字符的单词:使用库函数完成
  • 【mediasoup】MS_DEBUG_DEV 等日志形式转PLOG输出