【opencv基础】代码优化加速相关

落爺英雄遲暮 提交于 2020-08-17 03:01:10

1. 定点化;

cv::Mat tmp1 = values * 1000000;
tmp1.convertTo(tmp1, CV_32SC1);
cv::Mat tmp2 = this->weights * 1000000;
tmp2.convertTo(tmp2, CV_32SC1);
cv::Mat tmp(tmp1.rows, tmp2.cols, CV_64FC1);
tmp = tmp1 * tmp2 / 1000000000000.0f;
tmp.convertTo(tmp, CV_32FC1);
View Code

2. 使用eigen库运算;

3. 使用加速优化的编译选项;

使用浮点运算;使用neon;

可以使用不同的架构选项、ARM选项等等;

4. 使用多线程;

注意互斥锁和信号量;

5. 使用多核并行编程;

openmp

 

 

参考

1. eigen;

2. GNU_GCC;

3. openmp_MSDN;

4. openmp_example_smallpt;

5. openmp_org;

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!