实际上我正在研究这个算法,我一直在探索他的代码(目前在Matlab中)。我想知道是否有人尝试过运行这个算法,有没有人能指出我如何在颜色/RGB模式下跟踪对象。目前,当我运行它时,它以灰度模式检测对象。
TLD Code是开源的,位于: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"来阻止它时。输入= in;"程序以RGB模式启动,但在1或2帧后卡住。
任何帮助都将非常感激。
p。S:我是Matlab编程的新手。
这段代码告诉我,算法(或至少这段代码)不处理RGB图像。。
我怀疑的原因很简单,因为它明确检查输入是1D(灰度)还是3D (RGB),如果是3D,它将其转换为灰度。
此外,用算法处理颜色很少像给它一个3D矩阵而不是1D矩阵那么简单,因为额外的维度通常意味着至少需要一些额外的工作。
有两个组件需要修复:1. 1BIT特征-你必须使它们应用于不同的颜色平面(也就是说,每个特征必须在一个平面中)2. 卢卡斯·卡纳德追踪器;实际上,彩色效果更好(如果你的输入没有噪声;你将需要一个比灰度相机质量更好的相机),但捕食者使用的OpenCV不包括一个版本。(不,我不知道是否有开源的)。