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

OpenCV CUDA 模块图像过滤------创建一个高斯滤波器函数createGaussianFilter()

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

算法描述

cv::cuda::createGaussianFilter 是 OpenCV CUDA 模块中的一个工厂函数,用于创建一个高斯滤波器。这个滤波器可以用来平滑图像,减少噪声,并且在很多计算机视觉任务中作为预处理步骤非常有用。

函数原型

cv::Ptr<cv::cuda::Filter> cv::cuda::createGaussianFilter
(int srcType,int dstType,cv::Size ksize,double sigma1,double sigma2 = 0,int rowBorderMode = cv::BORDER_DEFAULT,int columnBorderMode = -1
);

参数

参数名类型描述
srcTypeint输入图像类型,例如 CV_8UC1, CV_32FC1 等。
dstTypeint输出图像类型,通常与输入类型相同或根据需求指定。
ksizecv::Size高斯核大小(宽度和高度),必须为正奇数。如果设置为 (0, 0),则根据 sigma1 和 sigma2 自动计算。
sigma1doublex方向的标准差。
sigma2doubley方向的标准差。如果设为 0,则与 sigma1 相同。
rowBorderModeint行方向上的边界填充模式,默认为 cv::BORDER_DEFAULT。
columnBorderModeint列方向上的边界填充模式,默认使用 rowBorderMode 的值(即 -1)。

代码示例

#include <opencv2/cudafilters.hpp>
#include <opencv2/cudaimgproc.hpp>
#include <opencv2/opencv.hpp>int main()
{// 读取灰度图像cv::Mat h_img = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/Lenna.png", cv::IMREAD_GRAYSCALE );if ( h_img.empty() ){std::cerr << "Error: Image not found!" << std::endl;return -1;}// 上传到 GPUcv::cuda::GpuMat d_src, d_dst;d_src.upload( h_img );// 创建高斯滤波器(ksize=5x5, sigmaX=1.5)cv::Ptr< cv::cuda::Filter > gaussianFilter = cv::cuda::createGaussianFilter( d_src.type(),      // 输入类型(CV_8UC1)d_src.type(),      // 输出类型与输入相同cv::Size( 5, 5 ),  // 核大小1.5,               // sigmaX1.5                // sigmaY);// 应用高斯滤波器gaussianFilter->apply( d_src, d_dst );// 下载结果回 CPUcv::Mat h_dst;d_dst.download( h_dst );// 显示原始图像及高斯模糊后的图像cv::imshow( "Original", h_img );cv::imshow( "Gaussian Blurred", h_dst );cv::waitKey( 0 );return 0;
}

运行结果

在这里插入图片描述

相关文章:

  • 【计算机网络 第8版】谢希仁编著 第五章运输层 题型总结1 UDP和TCP报文格式
  • 基于labview的声音采集与存储分析系统
  • python绘制股票K线
  • sockaddr结构体详解
  • 学习日记-day13-5.22
  • Python中accumulate方法
  • MySQL三种备份方式介绍
  • AI价值的冰与火之歌:企业数字化转型的迷雾与曙光
  • 探索微分方程的领域及AI推理
  • knife4j使用
  • MySQL中实现大数据量的快速插入
  • 华为仓颉语言如何进行交叉编译
  • Java微服务架构:Spring Cloud全栈指南,附最新Demo源码,可独立运行!
  • v3.0 YOLO篇-如何通过YOLO进行实验
  • 2024游戏安全白皮书:对抗激烈!PC游戏外挂功能数增长超149%,超85%移动外挂为定制挂(附获取方式)
  • 怎样通过神经网络估计股票走向
  • 华为RH1288HV3 BMC忘记用户名密码如何恢复默认
  • 【QT】QT6设置.exe文件图标
  • 华为云Flexus+DeepSeek征文 | 基于ModelArts Studio 的 DeepSeek API 实现行业深度搜索和分析
  • 云南安全员考试报名需要具备哪些条件?
  • 网站用户维度/做个网站需要多少钱
  • 做网站网页的工作怎么样/网站建设的意义和作用
  • 静态网站怎么入侵/网页设计与制作考试试题及答案
  • 个人制作的网站/免费的seo网站
  • 用dw做网站毕业设计/品牌如何做推广
  • 做ppt的网站叫什么/seo网站诊断价格