如何解决使用Opencv C ++对循环进行矢量化
我的代码有许多“ 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()复制整个块,而不是逐像素复制图像。是否有效取决于您的变量类型。
也就是说,如果要使用OpenCV,它具有优化的复制功能copyTo()。通过将其与蒙版和/或ROI结合使用,您应该能够更快地复制图像。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。