当前位置: 首页 > 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.hskmm.com/?act=detail&tid=26148

相关文章:

  • 2025.10.7——2绿
  • 完整教程:无人机避障——感知部分(Ubuntu 20.04 复现Vins Fusion跑数据集)胎教级教程
  • 我真的博了
  • 2025.10.6——1绿1蓝
  • 深入解析:人工智能-Chain of Thought Prompting(思维链提示,简称CoT)
  • 年龄排序
  • 二分图最大匹配 输出具体方案
  • 我的联想小新潮7000笔记本的优化
  • Go语言之接口与多态 -《Go语言实战指南》 - 指南
  • 地球科学概论
  • 2025多校冲刺CSP模拟赛4 总结
  • 多路归并、败者树、置换-选择排序、最佳归并树
  • 看vue文档记录(未整理)
  • Spring5笔记
  • 50天50个前端项目 - HTML/CSS和JavaScript实战合集
  • [BalticOI 2002] Tennis Club (Day1) 解题报告
  • 党徽
  • ZKEACMS:基于ASP.Net Core开发的开源免费内容管理系统
  • MySQL面试题汇总
  • 穷人的中国象棋打谱程序
  • 文件系统的层次结构
  • oracle 19c学习笔记2
  • 文件保护
  • 一些数数杂题
  • AI元人文:规则与人文的统一之路
  • 10.7
  • qmd 模拟赛的一道题
  • 四元数:从理论基础到实际应用的深度探索 - 教程
  • Day12
  • HoneyWell(霍尼韦尔)1450g扫码枪说明书