±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 816  |  »Ø¸´: 2
µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû

eeds136

½ð³æ (ÖøÃûдÊÖ)

[ÇóÖú] »Ò¶ÈÌݶȹ²Éú¾ØÕóVC´úÂ룡 ÒÑÓÐ1È˲ÎÓë

»Ø¸´´ËÂ¥
Ò»Çж¼ËÆÄÇôÉñÆæ¡£¡£¡£¡£
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

justmc

ľ³æ (СÓÐÃûÆø)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

ÕâÊÇÆÕͨµÄ»Ò¶È¹²Éú¾ØÕó´úÂ룬ҲÊDzο¼ÍøÉϵģ¬Â¥Ö÷¿´¿´ÓÐûÓаïÖú¡£

// Çó¾ùÖµ
double GetMean(double m[4])
{
        double nmean=0,sum=0;
        sum = m[0]+m[1]+m[2]+m[3];
        nmean = sum/4;
        return nmean;
}

// Çó·½²î
double GetSdDe(double m[4],double nmean)
{
        int i;
        double stde,sum=0;
        for (i=0;i<4;i++)
        {
                sum+=((m-nmean)*(m-nmean));
        }
        sum/=4;
        stde=sqrt(sum);
        return stde;
}

// ¼ÆËã»Ò¶È¹²Éú¾ØÕó
void GetGLCM(Mat mat_double, double glcm[8])
{
        double minvalue=0.0,maxvalue=0.0;
        int nW,nH;
        int j,i,n,m,dim;
        nW = mat_double.cols;
        nH = mat_double.rows;

        // ½«Í¼ÏñÁ¿»¯ÖÁ0-255
        Mat mat_uchar = Mat(nW,nH,CV_8UC1);
        minMaxLoc(mat_double, &minvalue, &maxvalue);
        mat_double.convertTo(mat_uchar, CV_8UC1, 255/(maxvalue-minvalue), -minvalue);

        // ΪÁ˼õÉÙ¼ÆËãÁ¿£¬½«Ô­Ê¼Í¼Ïñ0-255Á¿»¯³É16¼¶£¬£¨0,15£©Îª1£¬£¨16,31£©Îª2
        for(i=0;i<nH;i++)
                for(j=0;j<nW;j++)
                        for(n=0;n<16;n++)
                        {
                                uchar temp = mat_uchar.at<uchar>(i,j);
                                if((n*16<=temp)&&(temp<=n*16+15))
                                        mat_uchar.at<uchar>(i,j) = n;
                        }

                        // ¼ÆËãËĸö¹²Éú¾ØÕóP,È¡¾àÀëΪ1£¬½Ç¶È·Ö±ðΪ 0,45,90,135
                        Mat mat_co[4];
                        for (dim=0;dim<4;dim++)
                        {
                                mat_co[dim] = Mat::zeros(16,16,CV_64FC1);
                        }

                        int delta[4][2] = {{0,1}, {-1,1}, {1,0}, {1,1}};
                        int p = 0;
                        int x, y;
                        for (int i = 0; i < nH; i++)
                        {
                                for (int j = 0; j < nW; j++)
                                {
                                        x = mat_uchar.at<uchar>(i,j);
                                        for (p = 0; p < 4; p++)
                                        {
                                                if (j + delta[p][0] < nW && j + delta[p][0] >= 0 && i + delta[p][1] < nH && i + delta[p][1] >= 0)
                                                {
                                                        y = mat_uchar.at<uchar>(i+delta[p][1],j+delta[p][0]);
                                                        mat_co[p].at<double>(x,y) += 1.0;
                                                        mat_co[p].at<double>(y,x) += 1.0;
                                                }
                                        }
                                }
                        }

                        // ¹éÒ»»¯¹²Éú¾ØÕó
                        Mat temp_mat = Mat(16,16,CV_64FC1);
                        for (dim=0; dim<4; dim++)
                        {
                                Scalar sum_value = sum(mat_co[dim]);
                                temp_mat.setTo(sum_value);
                                divide(mat_co[dim],temp_mat,mat_co[dim]);
                        }

                        // ¶Ô¹²Éú¾ØÕó¼ÆËãÄÜÁ¿¡¢ìØ¡¢¹ßÐԾء¢Ïà¹Ø4¸öÎÆÀí²ÎÊý
                        double energy[4]={0};        //ÄÜÁ¿
                        double entropy[4]={0};        //ìØ
                        double inertia[4]={0};        //¹ßÐÔ¾Ø
                        double uX[4]={0};/*Ïà¹ØÐÔÖЦÌx*/  double uY[4]={0};/*Ïà¹ØÐÔÖЦÌy*/
                        double deltaX[4]={0};/*Ïà¹ØÐÔÖЦÒx*/ double deltaY[4]={0};/*Ïà¹ØÐÔÖЦÒy*/
                        double corelation[4]={0};        //Ïà¹ØÐÔ

                        Scalar temp_energy[4];        //ÄÜÁ¿
                        Mat mat_energy[4];
                        for (dim=0; dim<4; dim++)
                        {
                                mat_energy[dim] = Mat(16,16,CV_64FC1);
                                multiply(mat_co[dim], mat_co[dim], mat_energy[dim]);
                                temp_energy[dim] = sum(mat_energy[dim]);        //ÇóÄÜÁ¿
                                energy[dim] = temp_energy[dim].val[0];
                        }

                        for (dim=0; dim<4; dim++)
                        {
                                for (m=0;m<16;m++)
                                {
                                        for(n=0;n<16;n++)
                                        {
                                                double temp = mat_co[dim].at<double>(m,n);
                                                if (temp!=0)
                                                {
                                                        entropy[dim] = temp*log(temp)+entropy[dim]; //ìØ
                                                }
                                                inertia[dim] = (m-n)*(m-n)*temp+inertia[dim];  //¹ßÐÔ¾Ø
                                                uX[dim] = n*temp+uX[dim]; //Ïà¹ØÐÔÖЦÌx
                                                uY[dim] = n*temp+uY[dim]; //Ïà¹ØÐÔÖЦÌy
                                        }
                                }
                        }
                        for (dim=0;dim<4;dim++)
                        {
                                for (m=0;m<16;m++)
                                {
                                        for (n=0;n<16;n++)
                                        {
                                                double temp = mat_co[dim].at<double>(m,n);

                                                deltaX[dim] = (m-uX[dim])*(m-uX[dim])*temp+deltaX[dim]; //Ïà¹ØÐÔÖЦÒx
                                                deltaY[dim] = (n-uY[dim])*(n-uY[dim])*temp+deltaY[dim]; //Ïà¹ØÐÔÖЦÒy
                                                corelation[dim] = m*n*temp+corelation[dim];  
                                        }
                                }
                                corelation[dim] = (corelation[dim]-uX[dim]*uY[dim])/deltaX[dim]/deltaY[dim]; //Ïà¹ØÐÔ   
                        }

                        // ÇóÄÜÁ¿¡¢ìØ¡¢¹ßÐԾء¢Ïà¹ØµÄ¾ùÖµºÍ±ê×¼²î×÷Ϊ×îÖÕ8Î¬ÎÆÀíÌØÕ÷
                        glcm[0] = GetMean(energy);
                        glcm[1] = GetSdDe(energy,glcm[0]);
                        glcm[2] = GetMean(entropy);
                        glcm[3] = GetSdDe(entropy,glcm[2]);
                        glcm[4] = GetMean(inertia);
                        glcm[5] = GetSdDe(inertia,glcm[4]);
                        glcm[6] = GetMean(corelation);
                        glcm[7] = GetSdDe(corelation,glcm[6]);
}
3Â¥2014-04-03 19:24:08
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
²é¿´È«²¿ 3 ¸ö»Ø´ð

justmc

ľ³æ (СÓÐÃûÆø)

²»ÖªÂ¥Ö÷˵µÄ»Ò¶È-Ìݶȹ²Éú¾ØÕóÊÇʲô¸ÅÄî°¡£¿Èç¹ûÊÇ»ù±¾µÄ»Ò¶È¹²Éú¾ØÕóGLCM£¬ÎÒÕâ¶ùµ¹Óеã¶ùC´úÂë¿ÉÒÔËÍÄã~
2Â¥2014-04-03 19:18:20
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 321Çóµ÷¼Á +12 y-yh 2026-04-01 14/700 2026-04-02 19:34 by ÅÁ¶ûÂíÀ­ÌØ
[¿¼ÑÐ] 265Çóµ÷¼Á +12 ÁÖÉîÎÂÀ½ 2026-04-01 15/750 2026-04-02 19:14 by Ò»Ö»ºÃ¹û×Ó?
[¿¼ÑÐ] 085600£¬320·ÖÇóµ÷¼Á +5 ´ó²öС×Ó 2026-04-02 5/250 2026-04-02 14:32 by ¶þÈý365
[¿¼ÑÐ] 266Çóµ÷¼Á +4 ѧԱ97LZgn 2026-04-02 4/200 2026-04-02 13:03 by yulian1987
[¿¼ÑÐ] 327Çóµ÷¼Á +9 ¼³Òàê» 2026-03-29 9/450 2026-04-02 11:44 by ÔËÆøyunqi
[¿¼ÑÐ] 08¿ªÍ·¿´¹ýÀ´£¡£¡£¡ +4 wwwwffffff 2026-03-31 6/300 2026-04-02 11:42 by ¾ùÖµ»Ø¹é
[¿¼ÑÐ] 261ÇóBÇøµ÷¼Á +5 Ã÷×С¤ 2026-04-01 7/350 2026-04-02 11:17 by ×Þξξ
[¿¼ÑÐ] Ò»Ö¾Ô¸±±½»´ó²ÄÁϹ¤³Ì×Ü·Ö358 +8 cs0106 2026-04-01 9/450 2026-04-02 10:36 by ²»³Ôô~µÄ؈
[¿¼ÑÐ] 329Çóµ÷¼Á +8 miaodesi 2026-04-02 10/500 2026-04-02 10:24 by ²»³Ôô~µÄ؈
[¿¼ÑÐ] Çóµ÷¼Á£¬Ò»Ö¾Ô¸ ÄϾ©º½¿Õº½Ìì´óѧ £¬080500²ÄÁÏ¿ÆÑ§Ó빤³Ìѧ˶£¬×Ü·Ö289·Ö +11 @taotao 2026-03-29 11/550 2026-04-02 10:04 by realme321
[¿¼ÑÐ] 295²ÄÁϹ¤³Ìר˶Çóµ÷¼Á +19 1428151015 2026-03-27 19/950 2026-04-01 22:34 by peike
[¿¼ÑÐ] °²È«¹¤³Ì 285 Çóµ÷¼Á +3 Xinyu56 2026-04-01 4/200 2026-04-01 21:50 by ¾²¾²¾²¾²¾²¾²¾²¾
[¿¼ÑÐ] »·¾³¹¤³Ì 085701£¬267Çóµ÷¼Á +15 minht 2026-03-29 16/800 2026-04-01 10:13 by li_sujuan99
[¿¼ÑÐ] 318Ò»Ö¾Ô¸¼ªÁÖ´óѧÉúÎïÓëÒ½Ò© Çóµ÷¼Á +6 óÆÐÐÖÂÔ¶. 2026-03-28 6/300 2026-04-01 09:28 by oooqiao
[¿¼ÑÐ] 329Çóµ÷¼Á£¬Ò»Ö¾Ô¸Î÷±±¹¤Òµ´óѧ£¬²ÄÁϹ¤³Ì£¨085601£© +6 СС»úÁ鳿 2026-03-29 12/600 2026-03-31 16:58 by ¼Çʱ¾2026
[¿¼ÑÐ] 085404 22408 315·Ö +5 zhuangyan123 2026-03-31 6/300 2026-03-31 13:48 by limeifeng
[Óлú½»Á÷] ¿¼Ñе÷¼Á +8 watb 2026-03-26 8/400 2026-03-30 18:40 by 544594351
[¿¼ÑÐ] 332Çó92µ÷¼Á +8 ½¶½¶123 2026-03-28 8/400 2026-03-29 10:46 by ÖÜè÷µ¤
[˶²©¼ÒÔ°] ÕÐÊÕÉúÎïѧ/ϸ°ûÉúÎïѧµ÷¼Á +4 IceGuo 2026-03-26 5/250 2026-03-29 01:25 by griffith2014
[¿¼ÑÐ] Ò»Ö¾Ô¸ÄϾ©º½¿Õº½Ìì´óѧ²ÄÁÏѧ˶Çóµ÷¼Á +3 @taotao 2026-03-28 3/150 2026-03-28 10:26 by JourneyLucky
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û