OpenCv算法编程优化
来源:互联网 发布:乐天 韩国 日本 知乎 编辑:程序博客网 时间:2024/06/06 19:30
优化C++和OpenCv过程中,总结的若干技巧如下:
1 访问Opencv的Mat格式时,需要注意访问方式,其中使用C语言的【】操作符访问最快,使用.At<>的方式最慢,效率相差20~30倍,具体可查看相应的解释。http://blog.csdn.net/xiaowei_cqu/article/details/7771760
2 若在遍历矩阵过程中,需要求平方,使用pow函数效率并不高,所以尽可能用乘号(*)代替使用pow函数。
3 若对若干矩阵进行大规模点运算,如A=B*C+D*E,则避免直接使用矩阵间的运算符,如B.mul(C)等,因为该操作符输出的并非最终结果,而是中间矩阵,因而会导致多余的运算。应直接遍历,访问矩阵中的元素,并计算结果。
4 矩阵运算时,若矩阵较大,应使用GEMM函数,因为GEMM使用了BLAS进行加速。如普通的A=B*C可能需要20ms,而使用GEMM可能只需要2ms,效率相差还是挺大的。
5 Opencv虽然有DFT函数,但若最求更快的FFT,应使用fftw的库进行fft计算。
6 若对性能要求非常高,可以考虑使用多核并行计算(OPENMP)或添加GPU处理(CUDA)。
7 关于C语言的优化,可参考《C语言代码优化方案》,下面是参考地址:
http://blog.csdn.net/china_video_expert/article/details/7231644
1 0
- OpenCv算法编程优化
- OpenCV编程->OpenMP优化入门
- Opencv for Android 图像算法优化
- 快速排序优化算法 - 编程珠玑
- 集体编程智慧--第五章:优化算法
- OpenMP并行编程应用—加速OpenCV图像拼接算法
- opencv编程
- 【opencv+OpenMP】OpenMP并行编程应用—加速OpenCV图像拼接算法
- 编程珠玑 - 算法优化 - 过滤敏感词 - 第一步:快速实现
- 算法总结(集体编程智慧) - 聚类、优化
- 机器学习入门 之 《集体智慧编程》 优化算法
- 算法设计与优化编程 第十讲 Subway
- 算法设计与优化编程 第十一讲 tetrahedron
- 阿里巴巴2018校园招聘运筹优化算法工程师编程题
- opencv实现图像优化
- opencv实现人像优化
- 编程优化
- 算法优化
- mysql批量添加数据
- HDU 3667-- Transportation【最小费最大流 && 拆边建图 && 经典】
- Android核心服务解析篇(一)——下载Android源代码
- Linux-2.6.32.67内核裁剪与移植之DM9000网卡驱动移植(3)
- LeetCode-Single Number-解题报告
- OpenCv算法编程优化
- flume+kafka+Druid 流数据查询聚合工具
- collections接口用法
- POJ 题目3581 Sequence(后缀数组+离散化)
- 判断[]是否是数组的两个方法
- VIBE君,放过MOTO吧
- maven 工程启动找不到 Spring ContextLoaderListener 的解决办法
- 12球问题/12硬币问题通解,以及引申的决策树/最优三叉树算法
- 一个会闪动的炫酷名片