我正在寻找一种实时执行对象跟踪的良好算法。
到目前为止,我发现的最好的相机是camshift,但是问题是我需要从外部图像中进行物体检测(我给算法提供了图像,他在视频中找到了它...),camshift需要用鼠标选择ROI点。我试图进行更改,但未成功。
我愿意学习新算法或更改camshift。
谢谢。
最佳答案
我不太了解camshift,但是我猜您正在使用opencv实现。下面的代码是opencv示例的片段:
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
dst = cv2.calcBackProject([hsv],[0],roi_hist,[0,180],1)
# apply meanshift to get the new location
ret, track_window = cv2.CamShift(dst, track_window, term_crit)
对于第一个图像,选择与帧大小一样大的dst
应该可以解决您的问题。否则,您可以使用滑动窗口方法在第一帧中定位目标。另一方面,术语“实时”实际上取决于您在以下方面的要求和部署环境:
输入视频的
由于以上所有考虑因素实际上对您的选择都是有效的,因此我不建议您使用特定的考虑因素。 This one例如可能有用。
我会研究IEEE explore并进行诸如
real time object tracking
的搜索。我为您做了一个:) Here是您最好的起点。希望这可以帮助。
哥汗