如何选择一个特定的框架

时间:2013-12-23 16:01:33

标签: image opencv image-processing computer-vision

我正在从视频/摄像头检测车辆,它可以很好地检测来自视频/摄像头的车辆,但是如果假设6秒视频包含2辆车,并且每个车辆在视频中包含2秒而不是提取35+帧其他车辆的一个车辆和相同的箱子,简单来说,它从包含车辆的视频中提取所有帧,但我的要求是提取一辆车的唯一一帧,如果6秒视频包含2辆车比我应该提取的2个框架包含整个车辆并忽略所有其他框架。我已经在它上面实现了熵技术,这使得它更好,但仍然得到相同车辆的太多帧。我想知道一种技术,我可以提取包含整个车辆的唯一框架,并忽略包含该车辆的所有其他框架(同一车辆)

1 个答案:

答案 0 :(得分:0)

假设您不仅获得二进制检测结果(“有车”)而且还获得某种空间信息(“有一辆车,其边界框是...“)然后你可以简单地保持显示最多的帧。

像这样的东西

best_frame = None
best_frame_score = 0.0
for frame in video:
    has_car, score = detect_car(frame)
    if has_car and score > best_frame_score:
        best_frame = frame
        best_frame_score = score

这假设函数detect_car返回二进制检测结果和一些分数。例如,分数可以是边界框的大小。