<2012 12 24> 小技巧:关键计算代码建立内存索引表来增加算法速度
2012-12-24 15:40
344 查看
博主在运行Hough直线特征算法时,下面的代码含有三角函数和浮点运算,直接计算时对算法实时性影响很大。
如果把可能的有限计算值建立查询表,在程序开始时进行初始化,之后的运算都查表,能大大提高运算速度:
下面的数据显示效率的确增加很多:
iDist = (int)(i*cos(Angelp*step*PI/180.0) + (height-j)*sin(Angelp*step*PI/180.0)) + RadiaNum_half
如果把可能的有限计算值建立查询表,在程序开始时进行初始化,之后的运算都查表,能大大提高运算速度:
int LutSin[321][181]; int LutCos[321][181]; for (i=0; i<321; i++){ for(j=0; j<181; j++){ LutSin[i][j] = (int)(i*sin(j * Pi /180)); LutCos[i][j] = (int)(i*cos(j * Pi /180)); } }
下面的数据显示效率的确增加很多:
相关文章推荐
- <2012 12 02> FL2440开发板的U-boot-2010.09版本移植(一)建立特定开发板的U-boot框架
- .net 最佳实践一:监测.net代码中的高内存消耗函数<转>
- <<Effective Objective-C 2.0 编写高质量iOS与OS X代码的52个有效方法>>笔记-内存管理
- .net 最佳实践一:监测.net代码中的高内存消耗函数<转>
- day-12,多层感知机-矩阵计算 <C版>
- 巧妙地用二叉树完成算式计算算法<计算器,二叉树,C++,独辟蹊径>
- <2012 12 05> FL2440开发板的U-boot-2010.09版本移植(四)Nor Flash启动支持
- <2012 12 06> FL2440开发板的U-boot-2010.09版本移植(十)支持烧写YAFFS2文件系统
- 分类算法--贝叶斯分类法(Maprdecue实现)代码实现<转>
- 二叉树的建立和基础操作<二> —— (层次遍历和计算二叉树的宽度)
- 已知某公司总人数为W,平均年龄为Y岁(每年3月末计算,同时每年3月初入职新人),假设每年离职率为x,x>0&&x<1,每年保持所有员工总数不变进行招聘,新员工平均年龄21岁。 从今年3月末开始,请实现一个算法,可以计算出第N年后公司员工的平均年龄。(最后结果向上取整)。
- <2012 12 17> “Kernel panic - not syncing” 问题的解决
- <2012 12 05> FL2440开发板的U-boot-2010.09版本移植(五)支持DM9000网卡和板级相关LED等配置
- <2012 12 06> J-link & AXD仿真调试ARM开发板 “halt不住” 的问题的解决
- .net创建excel文件关键代码及部分说明<转>
- 巧妙地用二叉树完成算式计算算法<计算器,二叉树,C++,独辟蹊径>
- <<SAP内存计算——HANA>> 书评
- <2012 12 19> 面向对象编程(OOP)C/C++什么时候用.引用 什么时候用->引用
- <2012 12 01> 三星Exynos3110 Cortex-A8 1GHz 处理器 蜂鸟 S5PC110 S5PV210
- <2012 12 05> FL2440开发板的U-boot-2010.09版本移植(六)uboot架构中NAND Flash驱动修改