与OpenMP并行读写Mat(Opencv)

与OpenMP并行读写Mat(Opencv),opencv,parallel-processing,openmp,Opencv,Parallel Processing,Openmp,我在opencv中的mat上使用图像处理,我尝试通过与openmp并行来加快openmp的处理速度 Mat *input,*output = ...; #pragma omp parallel for private(i,j) for(i=startvalueX; i<stopvalueX; i++) { for(j=startvalueY; j<stopvalueY; j++) { if(input->at<uchar>(i,j)!=0 &a

我在opencv中的mat上使用图像处理,我尝试通过与openmp并行来加快openmp的处理速度

Mat *input,*output = ...;
#pragma omp parallel for private(i,j) 
for(i=startvalueX; i<stopvalueX; i++) { 
  for(j=startvalueY; j<stopvalueY; j++) {   
    if(input->at<uchar>(i,j)!=0 && simplePoint(i,j,input) {                         
      output->at<uchar>(i,j)=0;
    }
  }
}

有什么想法吗

你使用了多少线程?使用太多线程确实会减慢代码的速度。另外,您可以尝试schedulestatic并再次运行吗?@xis19使用schedulestatic时,速度仍然相同。如果使用input.data和output.data指针而不是at函数,速度会更快吗?在调试模式下,at可能特别慢。
  %     cumulative   self             self     total           
time     seconds   seconds   calls  ms/call  ms/call  name          
38.40      0.67     0.33       44     7.50    18.97  _GLOBAL__sub_I__Z10splitImagePcPN2cv3MatES2_