图像的相似度计算???? 我在做(基于肤色的)人脸检测系统,请问图像的相似度计算是用来做什么的?是为后面的二值化做准备吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我现在在看数字图像一本书,上面提到将图片先进行相似度计算,再进行二值化处理就可得到人脸区域,我认为:不是直接进行二值化就好了吗??比如匹配时候定义规则,要求基于一定算法下的相似度必须达到某个阈值才进行匹配,从而减少工作量???下面是相似度计算原码……void CLikelyHood::CalLikeHood(){ int i,j; for(i=0; i<m_nHeight; i++) { for(j=0; j<m_nWidth; j++) { double x1,x2; TCbCr temp = CalCbCr(m_pSourceData[i][j].rgbRed,m_pSourceData[i][j].rgbGreen,m_pSourceData[i][j].rgbBlue); x1 = temp.Cb-bmean; x2 = temp.Cr-rmean; double t; t = x1*(x1*brcov[1][1]-x2*brcov[1][0])+x2*(-x1*brcov[0][1]+x2*brcov[0][0]); t /= (brcov[0][0]*brcov[1][1]-brcov[0][1]*brcov[1][0]); t /= (-2); m_pLikeliHoodArray[i][j] = exp(t); } } filter(m_pLikeliHoodArray,m_nWidth,m_nHeight); double max = 0.0; for(i=0; i<m_nHeight; i++) for(j=0; j<m_nWidth; j++) if(m_pLikeliHoodArray[i][j] > max) max = m_pLikeliHoodArray[i][j]; for(i=0; i<m_nHeight; i++) { for(j=0; j<m_nWidth; j++) { m_pLikeliHoodArray[i][j] /= max; } } m_bLikeliHoodReady = true;} 我老师做 Zernike 矩,好像是搞这个的 怎样计算两幅图的相似度啊?谁能给我发个代码参考一下么?谢谢 [email protected] 如何实现把一个对话框从串口获得的数据在另外一个对话框的编辑框显示?? 关于窗口的问题 得知程式裡的線程 有c的基础后学习c++应该注意什么? 在windows 98/2000/XP下开发虚拟网卡驱动 动态配置数据源 为什么我的用了bcgcontrolbar的程序总是不能成功编译? 关于ListBox------送出所有分,虽然不多:( 菜鸟的Socket问题,要分来抢 求救! 为啥我的菜单点了之后不执行?? CRichEditCtrl高亮显示字符奇怪问题 关于字符集配置的问题
下面是相似度计算原码……void CLikelyHood::CalLikeHood()
{
int i,j; for(i=0; i<m_nHeight; i++)
{
for(j=0; j<m_nWidth; j++)
{
double x1,x2;
TCbCr temp = CalCbCr(m_pSourceData[i][j].rgbRed,m_pSourceData[i][j].rgbGreen,m_pSourceData[i][j].rgbBlue);
x1 = temp.Cb-bmean;
x2 = temp.Cr-rmean;
double t;
t = x1*(x1*brcov[1][1]-x2*brcov[1][0])+x2*(-x1*brcov[0][1]+x2*brcov[0][0]);
t /= (brcov[0][0]*brcov[1][1]-brcov[0][1]*brcov[1][0]);
t /= (-2);
m_pLikeliHoodArray[i][j] = exp(t);
}
} filter(m_pLikeliHoodArray,m_nWidth,m_nHeight); double max = 0.0;
for(i=0; i<m_nHeight; i++)
for(j=0; j<m_nWidth; j++)
if(m_pLikeliHoodArray[i][j] > max)
max = m_pLikeliHoodArray[i][j];
for(i=0; i<m_nHeight; i++)
{
for(j=0; j<m_nWidth; j++)
{
m_pLikeliHoodArray[i][j] /= max;
}
} m_bLikeliHoodReady = true;
}