【问题标题】:Capturing a video from multiple thread Opencv in Cpp从 Cpp 中的多线程 Opencv 捕获视频
【发布时间】:2021-06-23 13:07:15
【问题描述】:

我是 Cpp 和 opencv 的学习者,我正在尝试从多个线程访问相同的视频,但在这样做时我遇到了死锁,这是意料之中的

我正在创建 n 个线程并尝试通过将视频分成 n 部分来处理视频,并同时在不同的线程中处理它。这是我的 void 函数。我找到了一些 python 解决方案,但无法理解。

void *finddensity(void *videoinfo)
{
    VideoCapture cap(video.mp4);

    //do some processing on each frame
}

然后我正在使用 pthread_create 创建线程 有什么方法可以访问视频避免任何死锁,并且还有 videoinfo 结构? 谢谢

【问题讨论】:

    标签: c++ multithreading opencv


    【解决方案1】:

    因此,由于任务只是一个课程作业,我所做的是将整个视频帧加载到内存中(这不是一个好习惯),然后使用互斥锁从每个线程访问帧,视频大小很小(174MB ) 但我能够在内存中以 5FPS 的速度存储视频,然后完成任务。 但如果有任何其他通用或更好的解决方案(应该有),请在此处回复,感谢 BiOS 格式化代码:-)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      • 2016-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多