用于RGB模式的捕食者(Zdenek Kalal的TLD算法)跟踪(Matlab)

时间:2011-09-19 14:59:30

标签: image-processing rgb matlab grayscale

实际上我正在研究这个算法,我一直在探索他的代码(目前在Matlab中)。我想知道是否有人尝试过运行此算法,有人可以指出我如何在彩色/ RGB模式下跟踪对象。目前,当我运行它时,它会以灰度模式检测对象。

TLD代码是开源的,位于:https://github.com/zk00006/OpenTLD

据我研究过的代码,有一个文件img_alloc.m,其中包含:

function img = img_alloc(in,imsize)
% Allocates image structure. 

if ischar(in)
    in = imread(in);
end

if ndims(in) == 3
    img.input = rgb2gray(in);

else
    img.input = in;
end

 %img.input = fliplr(img.input);

if exist('imsize','var')
    img.input = imresize(img.input,imsize);
end

img.blur = img_blur(img.input,2);

声明“img.input = rgb2gray(in);”将输入从rgb转换为灰度模式。当我试图通过将其更改为“img.input = in;”来阻止它时程序以RGB模式启动,但在1或2帧后卡住。

非常感谢任何帮助。

P.S:我是Matlab编程的新手。

2 个答案:

答案 0 :(得分:3)

这段代码告诉我算法(或至少这个代码)不处理RGB图像。完全没有。

我怀疑这是因为它明确检查输入是1D(灰度)还是3D(RGB),如果是3D,则将其转换为灰度。

此外,使用算法处理颜色很少只是为了提供3D矩阵而不是1D矩阵,因为额外的维度通常意味着至少需要一些额外的工作。

答案 1 :(得分:0)

有两个组件需要修复: 1. 1BIT功能 - 你必须使它们适用于不同的颜色平面(也就是说,每个特征都必须在其中一个平面上) 2. Lucas Kanade跟踪器;它实际上在颜色方面效果更好(如果你的输入没有嘈杂;你需要一个质量更好的相机而不是灰度),但捕食者使用的OpenCV不包括版本。 (不,我不知道开源软件是否可用)。