C++ 一道关于共生矩阵的计算问题

/*这是一道用图像的灰度矩阵计算图像对比度的问题,先是将灰度值减少为都分到4级,然后计算其灰度共生矩阵,最后根据计算公式算得其对比度。我的问题出在了计算共生矩阵上。程序是可以运行的,但共生矩阵的结果是错的···这里我选择了行距为0,列距为1来计算灰度共生矩阵,灰度共生矩阵大小为4*4,每个元素为转换后的矩阵相邻两个元素在整个矩阵中出现的次数。也就是说,灰度共生矩阵中的元素b[m][n]为转换后的矩阵中m,n为相邻元素(m与n行距为0,列距为1)在整个矩阵中出现的次数。大概就是这样,但我的矩阵b的程序是错的。。。不知道怎么改。。恳请大神指点,感激不尽!*/

//计算图像对比度
int main(int argc, char* argv[])
{
    int a[7][7]={{2,6,10,14,2,6,10},
                {6,10,14,2,6,10,14},
                {10,14,2,6,10,14,2},
                {14,2,6,10,14,2,6},
                {2,6,10,14,2,6,10},
                {6,10,14,2,6,10,14},
                {10,14,2,6,10,14,2}};
    int i,j,m,n,count,contrast,b[4][4];
    for(i=0;i<7;i++)
    {
        for(j=0;j<7;j++)
            a[i][j]=a[i][j]/4;
    }
    cout<<"将灰度级减少到4级后的图像为:"<<endl;
    for(i=0;i<7;i++)
    {
        for(j=0;j<7;j++)
        {
            cout<<a[i][j]<<"\t";
        }
        cout<<endl;
    }
    //求共生矩阵,这里计算的是列距为1,行距为0的共生矩阵
    for(i=0;i<7;i++)
    {
        for(j=0;j<7;j++,n++)
        {
            for(m=0;m<4;m++)
            {
                for(n=0;n<4;n++)
                {
                    if((a[i][j]==m)&&(a[i][j+1]==n))
                    count++;
                    b[m][n]=count;
                }
            }
        }
    }
        cout<<"输出a=1,b=0的共生矩阵为:"<<endl;
        for(m=0;m<4;m++)
        {
            for(n=0;n<4;n++)
            {
                cout<<b[m][n]<<"\t";
            }
            cout<<endl;
        }

        //计算对比度

        for(m=0;m<4;m++)
            {
                for(n=0;n<4;n++)
                {
                    b[m][n]=(m-n)*(m-n)*b[m][n];
                }

        }
    for(m=0;m<4;m++)
    {
        for(n=0;n<4;n++)
        {
            contrast+=b[i][j];
        }
    }
    cout<<"这幅图像的对比度为:"<<contrast;




    system("pause");

    return 0;
}

首先,你的count和contrast没初始化吧,没初始化你怎么能直接用=。=

然后,你计算共生矩阵的地方什么逻辑?没太看懂,n还是在内外曾循环都叠加。。

按说只要把b[4][4]初始化为全0,一个遍历不就行了么?就像下面这样

 //这里假设你的b已经初始化了: int b[4][4] = {0,}

for (i=0; i!=7;++i) {
        for(j=1, j!=7; ++j) {
                ++b[ a[i][j-1] ][ a[i][j] ];
        }
}