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

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering() - 指南

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering() - 指南

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

算法描述

在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。

该函数将输入图像中的每个像素用其邻域内颜色分布的“模式”代替,从而实现:

函数原型

void cv::cuda::meanShiftFiltering
(
InputArray src,
OutputArray dst,
int sp,
int sr,
TermCriteria criteria = TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS, 5
, 1
)
,
Stream & stream = Stream::Null(
)
)

参数

代码示例

#
include <opencv2/cudaimgproc.hpp>#include <opencv2/opencv.hpp>int main(){// Step 1: 读取图像cv::Mat h_src = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/Lenna.png");if ( h_src.empty()){std::cerr <<"Failed to load image!" << std::endl;return -1;}// Step 2: 转换为 4 通道图像(BGRA)cv::cuda::GpuMat d_src, d_src_rgba;d_src.upload( h_src );cv::cuda::cvtColor( d_src, d_src_rgba, cv::COLOR_BGR2BGRA );// 转为 CV_8UC4// Step 3: 创建输出图像cv::cuda::GpuMat d_dst;// Step 4: 设置参数并执行均值漂移滤波int sp = 10;// 空间窗口大小int sr = 30;// 颜色窗口大小cv::cuda::meanShiftFiltering( d_src_rgba, d_dst, sp, sr );// Step 5: 下载结果并显示cv::Mat h_dst;d_dst.download( h_dst );// Step 6: 如果需要恢复为 3 通道图像cv::cuda::GpuMat d_dst_bgr;cv::cuda::cvtColor( d_dst, d_dst_bgr, cv::COLOR_BGRA2BGR );cv::Mat h_final;d_dst_bgr.download( h_final );cv::imshow( "Original Image", h_src );cv::imshow( "Filtered Image", h_final );cv::waitKey( 0);return 0;}

运行结果

在这里插入图片描述

http://www.jsqmd.com/news/9653/

相关文章:

  • 2025.10.7——2绿
  • 完整教程:无人机避障——感知部分(Ubuntu 20.04 复现Vins Fusion跑数据集)胎教级教程
  • 我真的博了
  • 深入解析:人工智能-Chain of Thought Prompting(思维链提示,简称CoT)
  • 2025.10.6——1绿1蓝
  • 深入解析:OpenCV CUDA模块图像处理------双边滤波的GPU版本函数bilateralFilter()
  • 年龄排序
  • 转战web3远程工作的英语学习的路线规划 - 教程
  • 二分图最大匹配 输出具体方案
  • 我的联想小新潮7000笔记本的优化
  • 地球科学概论
  • Success of Europa
  • 2025多校冲刺CSP模拟赛4 总结
  • 多路归并、败者树、置换-选择排序、最佳归并树
  • 实用指南:shiro、struts2、weblogic特征流量分析
  • 看vue文档记录(未整理)
  • Spring5笔记
  • 50天50个前端项目 - HTML/CSS和JavaScript实战合集
  • 【笔记】用命令手动下载并安装 tokenizers 库.whl文件(Python 3.12+) - 实践
  • 【办公类-48-04】202506每月电子屏台账汇总成docx-5(问卷星下载5月范围内容,自动获取excel文件名,并转移处理) - 实践
  • 文件系统的层次结构
  • oracle 19c学习笔记2
  • 详细介绍:【学习笔记】TCP 与 UDP
  • 一些数数杂题
  • AI元人文:规则与人文的统一之路
  • qmd 模拟赛的一道题
  • 详细介绍:Apache Druid
  • PCoT: Persuasion-Augmented Chain of Thought for Detecting Fake News and Social Media Disinformation
  • 实验1 c语言
  • 宏定义中,为什么使用:do{}while(0)这种模式是最安全的