彩色图像上执行Mean Shift迭代搜索目标 ,维加权直方图 + 巴氏系数 + Mean Shift迭代
今天要给大家分享的是:
在彩色图像上进行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迭代的更多相关文章
- ansible 批量在远程主机上执行命令
ansible 和 saltstack 都是为了同时在多台主机上执行相同的命令, 但是 salt配置麻烦,ansible基本不用配置, ansible 通过ssh来连接并控制被控节点 1. 安装 第一 ...
- Windows 7上执行Cake 报错原因是Powershell 版本问题
在Windows 7 SP1 电脑上执行Cake的的例子 http://cakebuild.net/docs/tutorials/getting-started ,运行./Build.ps1 报下面的 ...
- .Net程序在linux mono环境和WindowsServer上执行测试对比
最近研究了一下mono,想把windows上写的.Net程序移植到linux上跑.网上有资料说Linux上mono执行.Net程序效率比Windows高,本着实证的态度,只有实际验证过才有说服力. 写 ...
- PHP在linux上执行外部命令
PHP在linux上执行外部命令 一.PHP中调用外部命令介绍二.关于安全问题三.关于超时问题四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍在PHP中调用外部命令,可以 ...
- Duilib 鼠标在某控件例如按钮上悬停后,对目标控件操作
其实对WM_MOUSEHOVER消息的处理,因为WindowImplBase基类中对此消息未处理,所以在自己的窗口类中实现: .h文件中加入 LRESULT OnMouseHover( UINT uM ...
- Linux 在一个命令行上执行多个命令
Linux 在一个命令行上执行多个命令 1. [ ; ] 如果被分号(;)所分隔的命令会连续的执行下去,就算是错误的命令也会继续执行后面的命令. 2. [ && ] 如果命令被 &am ...
- MySQL线上执行大事务或锁表操作
前提 在线执行一些大事务或锁表操作(给某个核心级表加一列或者执行修改操作),此时不但主库从库要长时间锁表,主从延迟也会变大.未避免大事务sql对整个集群产生影响,,我们希望一条SQL语句只在Maste ...
- Linux 在一个命令行上执行多个命令(转载)
对于单个命令执行我想大多数人都是明了的,也就是在一个命令行上执行一条命令.那对于在一行上执行多个命令怎么办呢,其实也很简单,只需在各命令之间加上特殊命令符号,我们常规使用到的有3个特殊命令符号. 1. ...
- db2的select语句在db2 client上执行正确,JDBC连接数据库时报错
db2的select语句在db2 client上执行正确,JDBC连接数据库时报错. sql语句是:select ...from QUALIFIER.tableName fetch first 21 ...
随机推荐
- git 仓库
从 Git 删除文件 rm test.txt git rm test.txt 加入远程仓库 $ git remote origin $ git remote add pb git://github.c ...
- 4pdf
http://www.cnblogs.com/haocool/archive/2013/03/16/2962547.html
- 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 ...
- 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 ...
- BeagleBone Black 板第三课:Debian7.5系统安装和远程控制BBB板
BBB板第三课:Debian7.5系统安装和远程控制BBB板 由于BBB板系统是Debian 7.4.据说使用Debian系统能够实现非常多BBB板的无缝连接.能够更好的学习和控制BBB板,所以就决定 ...
- 数据结构c字符串操作语言版本
#include<stdio.h> #include<malloc.h> #include<string.h> //结构的定义字符串 typedef struct ...
- Xamarin.Android 在VS下调试时提示 In mgmain JNI_OnLoad 程序“Mono”已退出 解决办法
原因是使用了破解版的 Xamarin,调试时不能使用共享库
- Ognl底层使用
今天,在得知ognl采用.在这里和大家分享一下.我希望能帮助. package com.hcj.test; import java.util.ArrayList; import java.util.L ...
- c++11多线程简介
C++11开始支持多线程编程,之前多线程编程都需要系统的支持,在不同的系统下创建线程需要不同的API如pthread_create(),Createthread(),beginthread()等,使用 ...
- 新秀系列C/C++经典问题(六)
类包含一个指向成员复制 称号:下面是类和执行的阵列的声明.题.并针对存在的问题提出几种解决方式. template<typename T> class Array { public: Ar ...