与OpenMP并行读写Mat(Opencv)

时间:2011-12-16 23:49:36

标签: opencv parallel-processing openmp

我在opencv的垫子上使用图像处理,我试图通过与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;
    }
  }
}

simplePoint是一种在输入中抓取邻居的方法,并检查它是否满足查找表中的预定义邻域(大约15行代码)。

连续,该程序需要1.56秒,并行,3.5秒

差异(使用gprof)是

  %     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_

有什么想法吗?

0 个答案:

没有答案