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

OpenCV CUDA 模块图像过滤------创建一个线性滤波器(Linear Filter)函数createLinearFilter()

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

算法描述

该函数用于创建一个线性滤波器(Linear Filter),可以对图像执行任意用户定义的卷积核(kernel)操作。适用于模糊、锐化、边缘检测等图像处理任务。

由于是 CUDA 版本,该函数在 GPU 上运行,适合大规模图像处理应用,具有较高的性能。

函数原型

Ptr<Filter> cv::cuda::createLinearFilter 	
(int  	srcType,int  	dstType,InputArray  	kernel,Point  	anchor = Point(-1, -1),int  	borderMode = BORDER_DEFAULT,Scalar  	borderVal = Scalar::all(0) 
) 		

参数

参数名描述
srcType输入图像类型。支持 CV_8UCV_16UCV_32F 的单通道和四通道图像。
dstType输出图像类型。目前仅支持与输入图像相同的类型。
kernel滤波器系数的二维数组(即卷积核)。
anchor锚点。默认值 Point(-1, -1) 表示锚点位于卷积核的中心。
borderMode像素外推方法。详细信息请参见 borderInterpolate 函数。
borderVal默认的边界填充值。

代码示例

#include <opencv2/cudaimgproc.hpp>
#include <opencv2/opencv.hpp>
#include <opencv2/cudafilters.hpp>int main()
{// 读取图像并上传到 GPUcv::Mat h_input = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/Lenna.png", cv::IMREAD_GRAYSCALE );cv::cuda::GpuMat d_input, d_output;d_input.upload( h_input );// 定义一个简单的 3x3 平均模糊核cv::Mat kernel = ( cv::Mat_< float >( 3, 3 ) << 1. / 9, 1. / 9, 1. / 9, 1. / 9, 1. / 9, 1. / 9, 1. / 9, 1. / 9, 1. / 9 );// 创建线性滤波器cv::Ptr< cv::cuda::Filter > filter = cv::cuda::createLinearFilter( d_input.type(), d_input.type(), kernel );// 应用滤波filter->apply( d_input, d_output );// 下载结果并显示cv::Mat h_output;d_output.download( h_output );cv::imshow( "Filtered Image", h_output );cv::waitKey();return 0;
}

运行结果

在这里插入图片描述

相关文章:

  • 使用 FFmpeg 将视频转换为高质量 GIF(保留原始尺寸和帧率)
  • ROS2学习(9)------ROS2动作
  • 【算法篇】二分查找算法:基础篇
  • java中string类型的list集合放到redis的5种数据类型的那种比较合适呢,可以用StringRedisTemplate实现
  • 现代软件开发利器
  • JavaScript对象继承
  • Git 分支管理:merge、rebase、cherry-pick 的用法与规范
  • 鸿蒙进阶——Framework之Want 隐式匹配机制概述
  • Windows开机时间过长的原因
  • Python的FastApi随笔记
  • ReAct 与 CoAct:AI 代理的推理与行动之旅
  • 如果请求体不是JSON格式,UserController层会怎样?
  • 【FastAPI】--基础教程
  • 精益数据分析(80/126):病毒式传播系数实战计算与增长策略优化
  • 【八股战神篇】RabbitMQ高频面试题
  • 动态规划经典三题_完全平方数
  • Pysnmp使用指南
  • 持续更新 ,GPT-4o 风格提示词案例大全!附使用方式
  • leetcode513.找树左下角的值:递归深度优先搜索中的最左节点追踪之道
  • AWS EC2实例安全远程访问最佳实践
  • 世界四大广告公司/企业站seo价格
  • asp.net个人网站怎么做/微信销售平台
  • 珠宝怎么做网站/河南搜索引擎优化
  • 南山做网站的/谷歌seo关键词排名优化
  • 移动互联网技术就业前景/郑州seo顾问
  • 网站建设开发语言和使用工具/漂亮的网页设计