今天要给大家分享的是:

在彩色图像上进行Mean Shift迭代搜索目标 二维加权直方图+巴氏系数+Mean Shift迭代

关于 加权直方图、巴氏系数、Mean Shift迭代 这三者之间的关系请大侠们阅读我的还有一篇博文:加权直方图+巴氏系数+Mean Shift的关系

关于一维直方图在灰度图像上的迭代程序请看:一维直方图+巴氏系数+Mean Shift

先上一张迭代过程的执行图吧 :

请看程序:

以下是

/**********控制算法执行行为的主要參数*******************************************************/



//该參数用于控制给定的初始位置框和真正的roi框的重叠度:取值范围(0,1)

//初始搜索框位置默认放在真实位置的右下角,与真实目标框de重叠度是overlap

float overlap = 0.5f; //一般来说,重叠度越高。迭代收敛越快。迭代次数越少

int MaxIterNum = 50;  //该參数用于控制Mean Shift的最大迭代次数

bool isJudgeOverShift = false;//用于Mean Shift迭代过程中推断是否冲过头的标志

weight_method = 1; //选择加权核函数 ==0的话选择 Epanechnikov kernal;==1选择Gaussian kernal

lock_roi  = true;  //假设lock_roi为真,则鼠标选取的矩形框被无效化,使用roi_rect的默认位置作为roi区域

/**********控制算法执行行为的主要參数*******************************************************/

以下是用不同的通道组合执行得到的对照图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhqbTA3MDU0MTE1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

上图中的通道组合依次是(blue,red)组合,(blue,green)组合。(green ,red)组合

不同的组合生成的二维直方图是不一样的,所以上面三个数字融合是不一样的,需要的是不迭代相同数量

版权声明:本文博客原创文章,博客,未经同意,不得转载。

彩色图像上执行Mean Shift迭代搜索目标 ,维加权直方图 + 巴氏系数 + Mean Shift迭代的更多相关文章

  1. ansible 批量在远程主机上执行命令

    ansible 和 saltstack 都是为了同时在多台主机上执行相同的命令, 但是 salt配置麻烦,ansible基本不用配置, ansible 通过ssh来连接并控制被控节点 1. 安装 第一 ...

  2. Windows 7上执行Cake 报错原因是Powershell 版本问题

    在Windows 7 SP1 电脑上执行Cake的的例子 http://cakebuild.net/docs/tutorials/getting-started ,运行./Build.ps1 报下面的 ...

  3. .Net程序在linux mono环境和WindowsServer上执行测试对比

    最近研究了一下mono,想把windows上写的.Net程序移植到linux上跑.网上有资料说Linux上mono执行.Net程序效率比Windows高,本着实证的态度,只有实际验证过才有说服力. 写 ...

  4. PHP在linux上执行外部命令

    PHP在linux上执行外部命令 一.PHP中调用外部命令介绍二.关于安全问题三.关于超时问题四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍在PHP中调用外部命令,可以 ...

  5. Duilib 鼠标在某控件例如按钮上悬停后,对目标控件操作

    其实对WM_MOUSEHOVER消息的处理,因为WindowImplBase基类中对此消息未处理,所以在自己的窗口类中实现: .h文件中加入 LRESULT OnMouseHover( UINT uM ...

  6. Linux 在一个命令行上执行多个命令

    Linux 在一个命令行上执行多个命令 1. [ ; ] 如果被分号(;)所分隔的命令会连续的执行下去,就算是错误的命令也会继续执行后面的命令. 2. [ && ] 如果命令被 &am ...

  7. MySQL线上执行大事务或锁表操作

    前提 在线执行一些大事务或锁表操作(给某个核心级表加一列或者执行修改操作),此时不但主库从库要长时间锁表,主从延迟也会变大.未避免大事务sql对整个集群产生影响,,我们希望一条SQL语句只在Maste ...

  8. Linux 在一个命令行上执行多个命令(转载)

    对于单个命令执行我想大多数人都是明了的,也就是在一个命令行上执行一条命令.那对于在一行上执行多个命令怎么办呢,其实也很简单,只需在各命令之间加上特殊命令符号,我们常规使用到的有3个特殊命令符号. 1. ...

  9. db2的select语句在db2 client上执行正确,JDBC连接数据库时报错

    db2的select语句在db2 client上执行正确,JDBC连接数据库时报错. sql语句是:select ...from QUALIFIER.tableName fetch first 21 ...

随机推荐

  1. git 仓库

    从 Git 删除文件 rm test.txt git rm test.txt 加入远程仓库 $ git remote origin $ git remote add pb git://github.c ...

  2. 4pdf

    http://www.cnblogs.com/haocool/archive/2013/03/16/2962547.html

  3. Embedding Lua, in Scala, using Java(转)

    LuaJ I was reading over the list of features that CurioDB lacks compared to Redis , that I’d previou ...

  4. zoj 3288 Domination (可能dp)

    ///dp[i][j][k]代表i行j列件,并把一k的概率 ///dp[i][j][k]一种常见的方法有四种传输 ///1:dp[i-1][j][k-1] 可能 (n-(i-1))*j/(n*m-(k ...

  5. BeagleBone Black 板第三课:Debian7.5系统安装和远程控制BBB板

    BBB板第三课:Debian7.5系统安装和远程控制BBB板 由于BBB板系统是Debian 7.4.据说使用Debian系统能够实现非常多BBB板的无缝连接.能够更好的学习和控制BBB板,所以就决定 ...

  6. 数据结构c字符串操作语言版本

    #include<stdio.h> #include<malloc.h> #include<string.h> //结构的定义字符串 typedef struct ...

  7. Xamarin.Android 在VS下调试时提示 In mgmain JNI_OnLoad 程序“Mono”已退出 解决办法

    原因是使用了破解版的 Xamarin,调试时不能使用共享库

  8. Ognl底层使用

    今天,在得知ognl采用.在这里和大家分享一下.我希望能帮助. package com.hcj.test; import java.util.ArrayList; import java.util.L ...

  9. c++11多线程简介

    C++11开始支持多线程编程,之前多线程编程都需要系统的支持,在不同的系统下创建线程需要不同的API如pthread_create(),Createthread(),beginthread()等,使用 ...

  10. 新秀系列C/C++经典问题(六)

    类包含一个指向成员复制 称号:下面是类和执行的阵列的声明.题.并针对存在的问题提出几种解决方式. template<typename T> class Array { public: Ar ...