使用Opencv C ++对循环进行矢量化

时间:2020-08-26 15:58:51

标签: c++ performance opencv for-loop optimization

我的代码有许多“ for”循环,如下所示:

for (size_t img = 0; img!=m_nbofImage; img++) 
  {
     for (size_t i = 0; i!=image_size; i++) 
       {
          dataImg[img* image_size+i]=data_matImg[i];
        }

为了提高代码的性能,我想使用Opencv,但我不这样做。

您认为,如何优化此循环以提高性能? 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您应该使用memcpy()复制整个块,而不是逐像素复制图像。是否有效取决于您的变量类型。

也就是说,如果要使用OpenCV,它具有优化的复制功能copyTo()。通过将其与蒙版和/或ROI结合使用,您应该能够更快地复制图像。

相关问题