跟踪对象?

时间:2013-10-01 19:50:36

标签: matlab image-processing computer-vision tracking

我想在matlab中开发一个可以跟踪图像中对象的应用程序。 所以我有序列图像,我想通过在对象周围添加一个边界框来跟踪对象。

我能做到吗??

这是我的代码,用于将序列图像中的对象绑定到框中。

 L = bwlabel(Morp);
 s = regionprops(L,'BoundingBox');
 B = bwboundaries(Morp);
 %imshow(a_bw)
 hold on
 %for k = 1:numel(s)
 %   c = s(k).Centroid;
 %   text(c(1), c(2), sprintf('%d', k), ...
 %       'HorizontalAlignment', 'center', ...
 %      'VerticalAlignment', 'middle');
 %end

 for k = 1:length(B)
 boundary = B{k};
 hold on
 plot(boundary(:,1), boundary(:,2), 'g', 'LineWidth', 0.2)
 end
 hold off
 drawnow;

请帮帮我,,,,

2 个答案:

答案 0 :(得分:1)

如果您有计算机视觉系统工具箱,请查看以下示例:

通常,很大程度上取决于您要解决的具体问题。相机是移动还是静止?您需要跟踪单个对象还是多个对象?您的物体是否具有独特的颜色或纹理?您的对象是否以可预测的方式移动?

答案 1 :(得分:0)

正如@Dima所说,这取决于具体问题。

张等人的Real-time Compressive Tracking在某些情况下效果很好。从本质上讲,它们获得高维稀疏Haar类特征,压缩它们以使问题易于处理,然后使用简单的贝叶斯分类器进行跟踪。 matlab代码很容易尝试,看它是否适合你的目的。它的一些问题是你必须提供一个初始边界框来跟踪,如果帧之间的移动太大(由某个参数设置)跟踪可能会丢失并且无法恢复。