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);
2. 使用eigen库运算;
3. 使用加速优化的编译选项;
使用浮点运算;使用neon;
可以使用不同的架构选项、ARM选项等等;
4. 使用多线程;
注意互斥锁和信号量;
5. 使用多核并行编程;
openmp
参考
1. eigen;
2. GNU_GCC;
3. openmp_MSDN;
5. openmp_org;
完
来源:oschina
链接:https://my.oschina.net/u/4274413/blog/4309081