关于检测眼睛的vc++6.0程序!

来源:百度知道 编辑:UC知道 时间:2024/06/15 21:44:00
哪位有这方面经验帮我看一下。谢谢!程序可能有点长,望能看得懂!
在这里贴不下,可以百度HI我,如果解释基本正确,奖励2000分!!
只是希望好心人能帮我一把!!
for(i=m_rFaceRegion.left+nSlidWinWidth; i<m_rFaceRegion.right-nSlidWinWidth;i++)//横向扫描区域 1/10-9/10
for(j=nMidFaceV-3*nSlidWinHeight; j> m_rFaceRegion.top+6*nSlidWinHeight;j--)//纵向扫描区域 1/2-1/10 to top+1/5
{
int count = 0;
for(int p= -nSlidWinWidth ;p<nSlidWinWidth;p++)
for(int q= -nSlidWinHeight ;q<nSlidWinHeight;q++)
{
if(m_tResPixelArray[i+p][j+q].rgbRed == 255) count++;//把白色区域检测出来,为什么把0换成255没有区别呢?
}
if(count >= nSlidWinWidth*nSlidWinHeight/3) //如果这一点周围足够白的话,置成红色
{
m_tResPixelArray[i][j].rgbRed =255;
tempArray[i] ++;
}
}
这段程序什么意思呢?

首先第一行是横向扫描区域
第二行纵向扫描区域
第三行定义起始检测点
第四五行为设置检测方向,可以看出先横向检测,后纵向检测
第六行比较白色区域(也就是把白色区域检测出来因为白色rgbred==255,而黑色rgbred==0)
第七行它有注释:如果这一点周围足够白的话,置成红色
over

发到邮箱来看看,lgjun@yahoo.cn.