0

我想在 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;

请帮我,,,,

4

2 回答 2

1

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

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

于 2013-10-01T20:41:45.540 回答
0

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

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

于 2013-10-06T12:31:31.417 回答