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

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;
}

运行结果

在这里插入图片描述

http://www.xdnf.cn/news/8592.html

相关文章:

  • 【Golang笔记03】error、panic、fatal错误处理学习笔记
  • Mysql逻辑架构
  • leetcode-hot-100 (普通数组)
  • 数据结构(6)线性表-队列
  • 计算机系统结构 -第三章:指令集并行 -1
  • Z世代消费新图鉴:从盲盒经济到可持续浪潮,解码年轻世代的消费密码
  • 方洪波摸着雷军,“甩掉”小米
  • Linux里more 和 less的区别
  • 怎么判断一个Android APP使用了flutter 这个跨端框架
  • 预处理越复杂越好?评估脑电预处理在深度学习应用中的作用
  • JavaScript关键字完全解析:从入门到精通
  • Foldseek快速蛋白质结构比对
  • HarmonyOS开发-应用间跳转
  • Puppeteer 浏览器自动化操作工具
  • PyTorch 中unsqueeze(-1)用法
  • 数据同步自动化——如何用Python打造高效工具?
  • 今日行情明日机会——20250523
  • Dijkstra算法——不带负权的单源最短路径
  • SQL语句在MySQL的执行过程
  • 行贿罪案件(公安侦查阶段)询问笔录发问提纲
  • Solana 数据实时访问的三大工具对比:哪种最适合你的应用?
  • Day34打卡 @浙大疏锦行
  • debian12下安装搜狗输入法
  • 计算机系统结构1-3章节 期末背诵内容
  • Keil调试(2)不停止调试
  • 算法修仙传 第二章 坊市奇遇:链表操作入门
  • sessionStorage 和localStorage
  • Lock锁
  • 2025.05.22-携程春招机考真题解析-第一题
  • 思 维 方 式