我有这个代码:
#pragma omp parallel for
for( i=0;i<(int)table.size();i++)
{
Vec3b bgrPixel;
TableElement element=table[i];
bgrPixel = inputImage.at<Vec3b>(element.InputPixel.y,element.InputPixel.x);
outputImage.at<Vec4b>(element.OutputPixel.y,element.OutputPixel.x)[0] = bgrPixel[0];
outputImage.at<Vec4b>(element.OutputPixel.y,element.OutputPixel.x)[1] = bgrPixel[1];
outputImage.at<Vec4b>(element.OutputPixel.y,element.OutputPixel.x)[2] = bgrPixel[2];
outputImage.at<Vec4b>(element.OutputPixel.y,element.OutputPixel.x)[3] = 255;
}
当我运行它时,我可以看到只使用了我的处理器功率的 25%。我相信它不是并行运行的。为什么它不是并行运行的,我怎样才能提高它的性能?
图像是 OpenCV mat 对象。