您的位置:首页 > 编程语言

<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));

}

}


下面的数据显示效率的确增加很多:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐