OpenCv已经线程化吗?

Nap*_*ars 7 c++ multithreading opencv

我想使用OpenCV来录制视频并将其作为流发送.我是初学者,我需要知道OpenCV是否阻止主线程还是自己进行线程化?

我阅读OpenCV文档(2.4.9),我找不到任何答案.

谢谢阅读.

Geo*_*ard 5

调用函数时,OpenCV可以生成线程.但是,所有工作都在控制返回到调用线程之前执行.出于多种原因,异步处理会增加大量额外的复杂性.(例如,考虑一下:你的程序如何知道计算何时完成?)如果程序不需要异步,它也会引入一些不希望的开销.

不过,使用C++ 11的线程API,您可以通过最少的努力自己进行异步处理.

  • 是的,它可能会产生线程.OpenCV可以使用多个线程并行处理不同的数据块("并行区域").有关详细信息,请参阅[setNumThreads](http://docs.opencv.org/modules/core/doc/utility_and_system_functions_and_macros.html#setnumthreads)和附近的函数. (2认同)