【问题标题】:Videocapture problem with video and real-time视频和实时的视频捕获问题
【发布时间】:2024-01-21 17:47:01
【问题描述】:

我有问题。我做了一个可以检测面部心跳的应用程序。如果我使用 videocapture (0)(因此使用机器的网络摄像头),它的功能是正确的,但如果我使用任何录制的视频,结果是错误的。 我猜存在兼容性、编解码器或压缩问题。 我该如何解决?

【问题讨论】:

  • 你看视频怎么样?
  • videocapture("name video")... 其他一切都保持不变。我还看到视频速度非常快,好像它快速读取了所有帧。如果我使用 videocapture(0) 一切正常..
  • “结果有误”他们怎么错了?你收到错误信息吗?您没有收到任何错误,但结果与您的预期不同?请提供详细信息
  • 是的,结果与预期不同。这不是代码问题,好像我使用 videocapture (0) 结果是正确的。我注意到虽然在 opencv 上运行的视频滚动得非常快。
  • 尝试获取帧速率(function hereproperty enum here)然后尝试调整 WaitKey 以匹配它。

标签: python opencv camera


【解决方案1】:

OpenCV 会尽快读取视频文件。这是一个功能。

如果您需要以特定速度显示该数据,则您有责任限制循环。正如 cmets 中所建议的那样,您可以通过给 waitKey 一个合适的(最大!)延迟来做到这一点。

如果您的 VideoCapture 对象没有为 CAP_PROP_FPS 提供合理的值,请查看您是否可以获得合理的 CAP_PROP_POS_MSEC 值。

【讨论】: