我们可以使用直方图进行颜色基础跟踪吗?

时间:2016-11-25 06:50:08

标签: c++ opencv histogram

我是图像处理的新手,这个问题可能是菜鸟,但我找不到这个问题的答案。

问题:一开始,我得到了我需要跟踪的对象的图像。之后,我得到了多个可以旋转对象的图像,可以更改尺寸(放大或缩小)。我想跟踪颜色的基础。

提出的解决方案:我认为的解决方案,我应该计算得到的样本图像的直方图,然后使用直方图比较我跟踪该对象。

失败:实施此解决方案后,我发现它不是最佳解决方案。因为OpenCV中每种可用的直方图比较方法,它们最终都会返回平均值,而不会区分精确/相似的颜色匹配。

我可以使用检测和跟踪的直方图吗?还是有什么好的解决方案?

PS。在我的情况下,对象是人。

2 个答案:

答案 0 :(得分:0)

不,这不行。图像的直方图不是局部特征,您只是明确地关注图像的一部分。

答案 1 :(得分:0)

您应该考虑使用OpenCV Tracking API - 例如TLD。有许多不同的跟踪器 - KCF,Boosting,MedianFlow等。这是一个例子:http://docs.opencv.org/3.1.0/d2/d0a/tutorial_introduction_to_tracker.html

你显然不需要将视频放入其中 - 跟踪器接受cv :: Mat中的帧。