图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782
图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601

要想大致理解均值漂移实现图像分割的原理请见网页基于均值漂移的图像分割算法 - 豆丁网,网页中对原理的理解已经说得比较清楚。如果你想了解详细原理,可以参考PAMI 2003的一篇文章,非常经典的哦,Mean Shift:A Robust Approach Toward Feature Space Analysis。

算法实施过程为:原点是选定的初始迭代点,将蓝色圆(其半径记为h)内所有向量相加,相加的结果如黄色向量所示,其终点指向上图所示的红色点,则下一次迭代以该红色点为圆心,h为半径画圆,然后求这个圆内以圆心为起点所有向量的和。如此迭代下去,圆的中心点为收敛于一个固定的点,也就是概率密度最大的地方。所以 均值漂移算法本质上是一种基于梯度的优化算法。

OpenCV中提供了函数pyrMeanShiftFiltering()来实现,函数原型如下:

void pyrMeanShiftFiltering( InputArray src, OutputArray dst, double sp, double sr, int maxLevel = 1, TermCriteria termcrit=TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS,5,1) );

各参数的含义如下:

src-输入图像,要求是8位的三通道图像!

dst-表示结果输出图像,与输入图像同类型同尺寸。

sp-空间窗的半径,空间和颜色两个因素作为迭代的对象

sr-颜色窗的半径,空间和颜色两个因素作为迭代的对象

maxLevel-高斯金字塔分割的最高水平,当maxlevel>0时,建立maxlevel+1层高斯金字塔,层层迭代,减少运算量

termcrit-均值漂移参数的终止条件

代码如下(代码中用到的图像的下载链接:sea.jpg_免费高速下载|百度网盘-分享无限制):

代码请访问博文0042-在OpenCV下利用均值漂移(Meanshift)进行图像分割_清溪算法-CSDN博客_均值漂移算法图像分割获取

代码请访问博文0042-在OpenCV下利用均值漂移(Meanshift)进行图像分割_清溪算法-CSDN博客_均值漂移算法图像分割获取

代码请访问博文0042-在OpenCV下利用均值漂移(Meanshift)进行图像分割_清溪算法-CSDN博客_均值漂移算法图像分割获取

运行结果如下图所示:

从结果中来看,此算法比分水岭分割法的效果要好很多嘛,不过我在运行过程中发现花的时间较长啊!

图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782
图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601

利用均值漂移实现图像分割的原理和OpenCV代码相关推荐

  1. 相机标定原理和opencv代码解析

    1.单目标定 单应矩阵 设三维空间点的齐次坐标,对应的图像坐标为 他们满足一下关系: s为尺度因子,K为内参矩阵 R和T旋转平移矩阵统称为外参 假设我们提供K个棋盘图像,每个棋盘有N个角点,于是我们拥 ...

  2. 单链表反转的原理和python代码实现

    链表是一种基础的数据结构,也是算法学习的重中之重.其中单链表反转是一个经常会被考察到的知识点. 单链表反转是将一个给定顺序的单链表通过算法转为逆序排列,尽管听起来很简单,但要通过算法实现也并不是非常容 ...

  3. DS1320原理和C51代码实现解读

    DS1320原理和C51代码实现解读 DS封装 引脚介绍 VCC2 V_{CC2}为主电源, VCC1 V_{CC1}为备用电源,当 VCC2 V_{CC2}> VCC1 V_{CC1} + 0 ...

  4. OpenCV基于均值漂移的跟踪的实例(附完整代码)

    OpenCV基于均值漂移的跟踪的实例 OpenCV基于均值漂移的跟踪的实例 OpenCV基于均值漂移的跟踪的实例 #include "opencv2/core/utility.hpp&quo ...

  5. 利用MOG2背景模型提取运动目标的OpenCV代码

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 前面已经写了一篇博文介绍背景建模,详情可见:运动 ...

  6. 【图像处理】——图像质量评价指标信噪比(PSNR)和结构相似性(SSIM)(含原理和Python代码)

    目录 一.信噪比(PSNR) 1.信噪比的原理与计算公式 2.Python常规代码实现PSNR计算 3.TensorFlow实现PSNR计算 4.skimage实现PSNR计算 5.三种方法计算的结果 ...

  7. TOPSIS模型原理和MATLAB代码实现

    IMMC2020:熵权TOPSIS 笔记整理来自清风老师的数学建模课程:TOPSIS教程 目录 1. 层次分析法的局限性(主观求权重方法) 2. TOPSIS法引入 2.1 一个指标的情况 2.2 2 ...

  8. 线性插值法的原理和python代码实现

    假设我们已知坐标 (x0, y0) 与 (x1, y1),要得到 [x0, x1] 区间内某一位置 x 在直线上的值.根据图中所示,我们得到 由于 x 值已知,所以可以从公式得到 y 的值 已知 y  ...

  9. 无模型自适应迭代学习控制原理和matlab代码仿真学习记录

    无模型自适应ILC原理及代码实现 这里学习的是很老的一篇论文<基于无模型自适应控制的反馈-前馈迭代学习控制系统收敛性研究>,作者是晏静文和侯忠生,大家有兴趣可以找来看看.这里主要介绍的无模 ...

最新文章

  1. oracle 统计一年中每个月数据总和_excel表格有每月数据 怎样统计全年的-用excel公式怎样计算每年每个月的数据总和?...
  2. Xcode iOS9.3 配置包 iOS10.0 配置包 iOS10.2 配置包 could not find developer disk image
  3. zx1 android版本,蔡司发布全画幅卡片机ZX1:安卓系统 内置Lightroom
  4. 大型企业都用什么web服务器呢?nginx
  5. Redis中布隆过滤器的使用及原理
  6. 华为怎么安装服务器系统版本,服务器怎么安装操作系统版本
  7. linux 性能测试iostat,Linux性能分析之二(iostat)
  8. [工程测量]工程测量个人期中复习笔记
  9. rdkit Kekulize
  10. 表情键盘 EmojiKeyboard
  11. MEM/MBA英语基础(04) 句子结构 翻译划分练习
  12. 谷歌浏览器帮助用户在安装前识别不受信任的扩展
  13. FAT 32 文件系统学习
  14. 如何用Goldwave批量消除音频文件开头结尾的空白
  15. python点图_Python | 点图
  16. 对高校深入开展翻转课堂的建议
  17. WGestures全局鼠标手势设置指南
  18. CLR的主要作用有哪些
  19. EasyExcel使用教程
  20. 为什么计算机桌面下面没有显示不出来,电脑底下一排图标没了,桌面底部任务栏不见了...

热门文章

  1. python语言入门w-Python算法基础
  2. python画折线图详解-python如何画折线图
  3. python界面设计-python图形化界面设计tkinter
  4. python编程能干什么-Python编程一般可以用来做什么
  5. 学python需要学数据库吗-python支持哪些数据库
  6. python语言入门n-python语言入门之字符串的一些用法
  7. python怎么安装包-怎么安装python包
  8. python excel 自动化-Python 自动化:处理 Excel(笔记)
  9. 自学python能干些什么副业好-python可以作为副业赚钱嘛?
  10. 编程软件python怎样开始学-编程零基础应当如何开始学习 Python?