在第一帧中,您可以任意方式分配id,第一个找到1,第二个为2 ......或者根据它们在集合中的位置简单地给它们ID.
然后在下一帧,你将不得不使用最佳匹配.找到斑点,计算当前斑点与前一图像的所有斑点之间的所有距离,并将每个先前的ID分配给最近的斑点.刚进入该字段的Blob将获得新ID.
现在你有两个框架,你可以为下一个框架进行运动预测.只需计算blob的前一个位置和当前位置之间的deltaX和deltaY.您可以使用此信息来猜测未来的位置.与未来的位置相匹配.
如果您没有很多重叠的斑点,并且每个帧之间的移动不是太快且不稳定,那么这应该有用.
通过几个图像使用评分系统可以更准确:
获取前3或5个图像的位置.对于第一帧的任何斑点,在第2帧上寻找最接近的,计算速度(deltaX deltaY),寻找第3,4,5帧的最接近预测位置...总结预测位置和最近斑点之间的所有距离它将得分.使用第2帧最近的第二个(它将在另一个方向寻找).分数越低,最有可能是好的斑点.
如果你有很多blob,你应该使用四叉树来加速进程.比较平方距离; 它会避免很多sqrt计算.
重要的是要知道你的blob如何调整你的algotrithm.
| 归档时间: |
|
| 查看次数: |
12624 次 |
| 最近记录: |