Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 如何延迟OpenMp并行线程_Opencv_Openmp - Fatal编程技术网

Opencv 如何延迟OpenMp并行线程

Opencv 如何延迟OpenMp并行线程,opencv,openmp,Opencv,Openmp,在互联网上做了一点调查之后,似乎OpenCV的视频捕获对象不是多线程安全的。我发现的一个建议是延迟线程执行。鉴于omp中的多个部分的以下示例,我将如何做到这一点,其中我在任何地方都使用相同的Videocapture对象: #pragma omp parallel{ #pragma omp sections nowait { #pragma omp section { loadframe } #pragma omp section { load

在互联网上做了一点调查之后,似乎OpenCV的视频捕获对象不是多线程安全的。我发现的一个建议是延迟线程执行。鉴于omp中的多个部分的以下示例,我将如何做到这一点,其中我在任何地方都使用相同的Videocapture对象:

  #pragma omp parallel{ 

  #pragma omp sections nowait
    { 
    #pragma omp section
    { loadframe }
    #pragma omp section
    { loadframe;}
    #pragma omp section
    { loadframe }
     }
   }

如何在OpenMP
critical
构造中使用OpenCV对象?你说得很对,我使用下面的玩具示例使其正常工作
  MyClass* mc = new MyClass();
  #pragma omp parallel sections
  {
   #pragma omp section
   {
      #pragma omp critical
      {
             mc->myFunc();
      }
    }
      #pragma omp section
   {
        #pragma omp critical
         {
             mc->myFunc();
        }
  }
   }