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 ; 完 来源: oschina 链接: https://my.oschina.net/u/4274413/blog/4309081