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];
}