多重循环体的并行加速

原始循环体

cv::Mat image;
for (int y=0; y<image.rows; y++) {
    for (int x=0; x<image.cols; x++) {
        /* user code */
    }
}

使用opencv并行加速后循环体

cv::Mat image;

parallel_for_(cv::Range(0, image.rows), [&](const cv::Range& r)
    {
        for (int oc = r.start; oc < r.end; oc++) {
            for (int x=0; x<image.cols; x++) {
                /* user code */
            }
        }
     }

注意事项

parallel_for_ 对应的循环函数会被重复执行,因此对变量的赋值声明操作也会被重复执行,需注意。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部