菜单
  

    以宽度为例,若峰值点(x,y)的x值在0到width/2之间,则判断为正向的移动,移动距离为x;若x值在width/2到width之间,则判断为逆向移动,移动距离为(x-width)。
    在搜索配准点前,必须先把非相关峰(即(0,0)处)赋值为0,否则会影响正确的判断。当峰值小于一定值时(暂定0.002),我们认为找到的峰不是相关峰,而是噪声产生的峰,而此时相关峰和非相关峰重叠,在(0,0)处,场景偏移量判断为(0,0)。
    void FindShift(float f,float g,int *shiftifft,int *xshift,int *yshift)
    {
        int xl,xh,yl,yh;
        int i,j;
        int iidx,jidx;
        int max=0;
        xl=f-15;
        xh=f+15;
        yl=g-15;
        yh=g+15;
        if(xl<0)
        {
            xl=0;
            xh=30;
        }
        else if(xh>255)
        {
            xl=225;
            xh=255;
        }
        if(yl<0)
        {
            yl=0;
            yh=30;
        }
        else if(yh>255)
        {
            yl=225;
            yh=255;
        }
        for(i=yl;i<yh;i++)
        {
            for(j=xl;j<xh;j++)
            {
                if(shiftifft[512*i+2*j]>max)
                {
                    max=shiftifft[512*i+2*j];
                    jidx=j;
                    iidx=i;
                }

            }
        }
        if(jidx>128)
        {
            jidx=jidx-256;
            jidx=(int)(1.25*jidx-0.5);
        }
        else
            jidx=(int)(1.25*jidx+0.5);
        if(iidx>128) iidx=iidx-256;
        *xshift=jidx;
        *yshift=iidx;
    }
    5.6  代码的优化
    (1)简单的C代码调整
    这一点和普通的C语言优化一样,调整你的代码达到以下效果:
    -尽量减少不必要的变量
    -尽量使用静态和全局变量
    -尽量减少循环中的重复运算,将能重复利用的值在循环外部计算。
    -不需要在代码中做的运算尽量拿掉,如x*5/4可调整为x*1.25
    (2)使用内联函数
    C6000编译器提供了许多内联函数,它们直接对应着汇编指令,可快速优化C代码。这些内联函数不易用C/C++语言实现其功能。内联函数用前下划线(_)特别标示,其方法与调用函数一样。例如:
    float _rcpsp(float src)  计算浮点数的近似倒数;
    float _rsqrsp(float src) 计算浮点数的近似平方根倒数;
    (3)restrict关键字
    为了帮助编译器确存储器的相关性,可以使用关键字restrict来限定指针、引用或数组。关键字restrict是对指针、引用或数组的一种限定。使用restrict关键字是为了确保其限定的指针在声明的范围内,是指向一个特定对象的惟一指针,即这个指针不会和其他指针指向存储器的同一地址。如果这个保证被违反,程序的执行结果将是未知的,这使编译器更容易确定是否有别名信息,从而更好得优化代码。
  1. 上一篇:渥拉斯顿棱镜透射光强扰动分析+文献综述
  2. 下一篇:含葡萄糖的混浊液后向散射特性的Mueller矩阵实验研究
  1. MATLAB基于Radon变换的光纤放...

  2. 基于B-dot探针测试电磁场的方法研究

  3. 基于干涉法测试技术的长...

  4. Lamb波基于剪切干涉的激光超声缺陷检测

  5. 基于Dicke态实现双向量子隐形传态

  6. 基于干涉法的三维面形测量

  7. 基于纳米机械振子与量子...

  8. 河岸冲刷和泥沙淤积的监测国内外研究现状

  9. 中考体育项目与体育教学合理结合的研究

  10. 十二层带中心支撑钢结构...

  11. 酸性水汽提装置总汽提塔设计+CAD图纸

  12. 大众媒体对公共政策制定的影响

  13. 杂拟谷盗体内共生菌沃尔...

  14. 电站锅炉暖风器设计任务书

  15. 乳业同业并购式全产业链...

  16. 当代大学生慈善意识研究+文献综述

  17. java+mysql车辆管理系统的设计+源代码

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回