Orientation Histogram code

double pCore[COREWID][COREWID]={
    0.00000000000003,0.00000000000088,0.00000000001580,0.00000000018208,0.00000000134539,0.00000000637406,0.00000001936268,0.00000003771335,0.00000004709827,0.00000003771335,0.00000000134539,0.00000000018208,0.00000000001580,0.00000000000088,0.00000000000003,
        0.00000000000088,0.00000000002464,0.00000000044289,0.00000000510395,0.00000003771335,0.00000017867521,0.00000054276736,0.00000105716646,0.00000132024114,0.00000105716646,0.00000003771335,0.00000000510395,0.00000000044289,0.00000000002464,0.00000000000088,
        0.00000000001580,0.00000000044289,0.00000000796024,0.00000009173491,0.00000067783440,0.00000321138816,0.00000975533586,0.00001900079973,0.00002372912726,0.00001900079973,0.00000067783440,0.00000009173491,0.00000000796024,0.00000000044289,0.00000000001580,
        0.00000000018208,0.00000000510395,0.00000009173491,0.00000105716646,0.00000781146230,0.00003700850445,0.00011242191001,0.00021896798108,0.00027345791552,0.00021896798108,0.00000781146230,0.00000105716646,0.00000009173491,0.00000000510395,0.00000000018208,
        0.00000000134539,0.00000003771335,0.00000067783440,0.00000781146230,0.00005771933315,0.00027345791552,0.00083069179978,0.00161796669605,0.00202059587845,0.00161796669605,0.00005771933315,0.00000781146230,0.00000067783440,0.00000003771335,0.00000000134539,
        0.00000000637406,0.00000017867521,0.00000321138816,0.00003700850445,0.00027345791552,0.00129556645020,0.00393558337567,0.00766546971220,0.00957301318045,0.00766546971220,0.00027345791552,0.00003700850445,0.00000321138816,0.00000017867521,0.00000000637406,
        0.00000001936268,0.00000054276736,0.00000975533586,0.00011242191001,0.00083069179978,0.00393558337567,0.01195524668334,0.02328564093434,0.02908024634483,0.02328564093434,0.00083069179978,0.00011242191001,0.00000975533586,0.00000054276736,0.00000001936268,
        0.00000003771335,0.00000105716646,0.00001900079973,0.00021896798108,0.00161796669605,0.00766546971220,0.02328564093434,0.04535423551560,0.05664058572809,0.04535423551560,0.00161796669605,0.00021896798108,0.00001900079973,0.00000105716646,0.00000003771335,
        0.00000004709827,0.00000132024114,0.00002372912726,0.00027345791552,0.00202059587845,0.00957301318045,0.02908024634483,0.05664058572809,0.07073553142611,0.05664058572809,0.00202059587845,0.00027345791552,0.00002372912726,0.00000132024114,0.00000004709827,
        0.00000003771335,0.00000105716646,0.00001900079973,0.00021896798108,0.00161796669605,0.00766546971220,0.02328564093434,0.04535423551560,0.05664058572809,0.04535423551560,0.00161796669605,0.00021896798108,0.00001900079973,0.00000105716646,0.00000003771335,
        0.00000001936268,0.00000054276736,0.00000975533586,0.00011242191001,0.00083069179978,0.00393558337567,0.01195524668334,0.02328564093434,0.02908024634483,0.02328564093434,0.00083069179978,0.00011242191001,0.00000975533586,0.00000054276736,0.00000001936268,
        0.00000000637406,0.00000017867521,0.00000321138816,0.00003700850445,0.00027345791552,0.00129556645020,0.00393558337567,0.00766546971220,0.00957301318045,0.00766546971220,0.00027345791552,0.00003700850445,0.00000321138816,0.00000017867521,0.00000000637406,
        0.00000000134539,0.00000003771335,0.00000067783440,0.00000781146230,0.00005771933315,0.00027345791552,0.00083069179978,0.00161796669605,0.00202059587845,0.00161796669605,0.00005771933315,0.00000781146230,0.00000067783440,0.00000003771335,0.00000000134539,
        0.00000000018208,0.00000000510395,0.00000009173491,0.00000105716646,0.00000781146230,0.00003700850445,0.00011242191001,0.00021896798108,0.00027345791552,0.00021896798108,0.00000781146230,0.00000105716646,0.00000009173491,0.00000000510395,0.00000000018208,
        0.00000000001580,0.00000000044289,0.00000000796024,0.00000009173491,0.00000067783440,0.00000321138816,0.00000975533586,0.00001900079973,0.00002372912726,0.00001900079973,0.00000067783440,0.00000009173491,0.00000000796024,0.00000000044289,0.00000000001580,
        0.00000000000088,0.00000000002464,0.00000000044289,0.00000000510395,0.00000003771335,0.00000017867521,0.00000054276736,0.00000105716646,0.00000132024114,0.00000105716646,0.00000003771335,0.00000000510395,0.00000000044289,0.00000000002464,0.00000000000088,
        0.00000000000003,0.00000000000088,0.00000000001580,0.00000000018208,0.00000000134539,0.00000000637406,0.00000001936268,0.00000003771335,0.00000004709827,0.00000003771335,0.00000000134539,0.00000000018208,0.00000000001580,0.00000000000088,0.00000000000003
};//17*17

int i = 0 ,j = 0 , itemp=(m_iY-int(COREWID/2))*m_nImgWid+m_iX-int(COREWID/2), iLength=COREWID*COREWID;
double pSubImg[COREWID*COREWID];
double pSubAngle[COREWID*COREWID];
double PI = arg(complex(-1,0)),dtemp=0;
for ( j = 0 ; j < COREWID ; j ++ )
{
    for ( i = 0 ; i < COREWID ; i ++ )
    {
        pSubImg[j*COREWID+i]=abs(m_pGradient[itemp+i])*pCore[j][i];
        pSubAngle[j*COREWID+i]=arg(m_pGradient[itemp+i]);
    }
    itemp+=m_nImgWid;
}
memset( m_pOHistogram , 0 , sizeof(double) * 36 );
for ( i = 0 ; i < iLength ; i ++ )
{
    dtemp = pSubAngle[i];
    if (dtemp<0)
    {
        dtemp=2*PI+dtemp;
    }
    else
    {
        dtemp =dtemp;
    }
    dtemp = dtemp*18/PI;
    itemp = (int)dtemp;
    m_pOHistogram[itemp]+=pSubImg[i];
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章