mean sift代码解析

Mean Shift算法在目标跟踪中应用广泛,OpenCV中的`meanShift`函数用于更新跟踪窗口。该函数接受反向投影图作为输入,通过迭代寻找最佳位置。本文将解析`meanShift`函数的参数及其实现,探讨空间距和中心距的概念,并提供相关参考资料。
摘要由CSDN通过智能技术生成

在做目标跟踪的时候,mean sift算法是堪称经典,在opencv2.4.6中,mean sift的函数原型为如下:

       / /! updates the object tracking window using meanshift algorithm

       CV_EXPORTS_W int meanShift( InputArray probImage, CV_OUT CV_IN_OUT Rect& window, TermCriteria criteria );

其中,probImage:在目标跟踪时,probImage表示我们待搜索目标图像的反向投影图(概率分布图),其实就是一幅图像

                    window:是初始矩形框大小,这里它既是输入,又是输出

                    criteria:迭代搜索的准则(如需要迭代的次数和需要控制最小值)

在opencv2.4.6中,我们可以看到meanShift的源代码如下:

int cv::meanShift( InputArray _probImage, Rect& window, TermCriteria criteria )
{
    CvConnectedComp comp;
    Mat probImage = _probImage.getMat(); //getMat()函数将传入的参数转换为Mat的结构,方便你函数内的操作
   
	CvMat c_probImage = probImage;
    int iters = cvMeanShift(&c_probImage, window, (CvTermCriteria)criteria, &comp );

    window = comp.rect;  //更新窗口

    return iters;        //返回迭代次数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值