gpt4 book ai didi

c++ - OpenCV、C++:如何使用 cv::Meanshift

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:55:10 29 4
gpt4 key购买 nike

我有一个二维点 vector ,我正在尝试使用 meanshift 算法来检测数据中的多种模式,但我对方法签名有点困惑。

2) 如何提取多种模式,从我所看到的函数只返回一个 int

谢谢

最佳答案

OpenCV 的均值偏移实现用于跟踪单个对象(作为 CamShift algorithm 的一部分),因此我认为它没有扩展到使用多模式分布跟踪多个对象。它会给你一个以概率图像的模式为中心的边界框(由 cv::Rect window 的引用传递返回)。

您的数据是否表示为混合高斯分布(或其他一些对称分布)?如果是这样,您也许可以使用 k-means聚类以找到分布的均值(这将是对称分布的模式),尽管选择 k 会有问题。

或者,可能启用跟踪多个对象(或找到多个模式)的黑客可能涉及重复调用此函数,检索模式,然后从反向投影直方图中将此部分归零。

至于数据的形式,函数输入是通过 cv::Mat 进行的,因此您必须转换数据。但是,您声称具有负值并且此 opencv 函数需要一个概率直方图(通常您使用 cv::calcBackProject() 从图像计算)所以我希望如果您尝试通过它会提示它是一个包含负值的 cv::Mat

关于c++ - OpenCV、C++:如何使用 cv::Meanshift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15342262/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com