我的代码有很多这样的“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 但我不怎么做。在您看来,如何优化此循环以提高性能?
任何帮助是极大的赞赏。
最佳答案
例如,您应该使用 memcpy() 复制整个 block ,而不是逐个像素地复制图像。这是否有效取决于您的变量类型。
也就是说,如果你想使用 OpenCV,它有一个优化的复制函数 copyTo()。通过将其与蒙版和/或 ROI 一起使用,您应该能够更快地复制图像。
关于c++ - 使用 Opencv C++ 对循环进行矢量化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63601373/