OpenCV  4.10.0
开源计算机视觉
加载中...
搜索中...
无匹配
| 函数
并行后端 API

详细描述

以下 API 用于解决多个线程池(来自不同的多线程框架)过度订阅 CPU 资源的问题。当 OpenCV 编译的线程框架与用户应用程序框架不同时,这很常见。

应用程序可以使用自己的实现(以重用应用程序的线程池)替换 OpenCV parallel_for() 后端。

后端 API 使用示例

英特尔 TBB

OpenMP

插件支持

运行时配置选项

类  cv::parallel::ParallelForAPI
 
类  cv::parallel::openmp::ParallelForBackend
 
类  cv::parallel::tbb::ParallelForBackend
 

函数

void cv::parallel::setParallelForBackend (const std::shared_ptr< ParallelForAPI > &api, bool propagateNumThreads=true)
 替换 OpenCV parallel_for 后端。
 
bool cv::parallel::setParallelForBackend (const std::string &backendName, bool propagateNumThreads=true)
 更改 OpenCV parallel_for 后端。
 

函数文档

◆ setParallelForBackend() [1/2]

void cv::parallel::setParallelForBackend ( const std::shared_ptr< ParallelForAPI > &  api,
bool  propagateNumThreads = true 
)
Python
cv.parallel.setParallelForBackend(backendName[, propagateNumThreads]) -> retval

#include <opencv2/core/parallel/parallel_backend.hpp>

替换 OpenCV parallel_for 后端。

应用程序可以使用自己的实现替换 OpenCV parallel_for() 后端。

注意
此调用不是线程安全的。考虑在任何其他 OpenCV 处理函数之前(并且没有任何其他创建的线程)从 main() 调用此函数。

◆ setParallelForBackend() [2/2]

bool cv::parallel::setParallelForBackend ( const std::string &  backendName,
bool  propagateNumThreads = true 
)
Python
cv.parallel.setParallelForBackend(backendName[, propagateNumThreads]) -> retval

#include <opencv2/core/parallel/parallel_backend.hpp>

更改 OpenCV parallel_for 后端。

注意
此调用不是线程安全的。考虑在任何其他 OpenCV 处理函数之前(并且没有任何其他创建的线程)从 main() 调用此函数。