锘??xml version="1.0" encoding="utf-8" standalone="yes"?>狠狠色丁香婷综合久久,久久精品国产清自在天天线,精品国产一区二区三区久久久狼http://www.shnenglu.com/aaxron/category/21234.html璁板綍淇鐨勫嵃璁? zh-cnThu, 14 Jul 2016 23:36:54 GMTThu, 14 Jul 2016 23:36:54 GMT60鐏板害鍥懼儚楂樻柉騫蟲粦http://www.shnenglu.com/aaxron/archive/2016/07/13/213932.html澶╀笅澶╀笅Wed, 13 Jul 2016 09:25:00 GMThttp://www.shnenglu.com/aaxron/archive/2016/07/13/213932.htmlhttp://www.shnenglu.com/aaxron/comments/213932.htmlhttp://www.shnenglu.com/aaxron/archive/2016/07/13/213932.html#Feedback0http://www.shnenglu.com/aaxron/comments/commentRss/213932.htmlhttp://www.shnenglu.com/aaxron/services/trackbacks/213932.html鐏板害鍥懼儚楂樻柉騫蟲粦
鍥懼儚騫蟲粦鐢ㄤ簬鍘婚櫎鍥懼儚涓殑鍣0銆傞珮鏂鉤婊戯紝灝辨槸灝嗘瘡涓儚绱犵殑鐏板害鍊肩敤鍏墮鍩熺殑鍔犳潈騫沖潎鍊間唬鏇褲傝綆楁硶綆鍗曪紝鑳藉鏈夋晥鍘婚櫎楂樻柉鍣0銆?br /> 騫蟲粦妯℃澘錛?br /> 1    2    1
2    4    2
1    2    1

// 楂樻柉騫蟲粦
// 1. pImageData 鍥懼儚鏁版嵁
// 2. nWidth 鍥懼儚瀹藉害
// 3. nHeight 鍥懼儚楂樺害
// 4. nWidthStep 鍥懼儚琛屽ぇ灝?/span>
void SmoothGauss(unsigned char *pImageData, int nWidth, int nHeight, int nWidthStep)
{
    int i = 0;
    int j = 0;
    
    unsigned char *pLine[3] = { NULL, NULL, NULL };

    int nTemplate[9] = { 1, 2, 1, 2, 4, 2, 1, 2, 1 };
    for (j = 1; j < nHeight - 1; j++)
    { 
        pLine[0] = pImageData + nWidthStep * (j - 1); //涓?琛屽湴鍧
        pLine[1] = pImageData + nWidthStep * j;          //褰撳墠琛屽湴鍧
        pLine[2] = pImageData + nWidthStep * (j + 1); //涓?琛屽湴鍧
        int nValue = 0;
        for (i = 1; i < nWidth - 1; i++) 
        {

            nValue = (pLine[0][i-1] * nTemplate[0] + 
                    pLine[0][i] * nTemplate[1] + 
                    pLine[0][i+1] * nTemplate[2] + 
                    pLine[1][i-1] * nTemplate[3] + 
                    pLine[1][i] * nTemplate[4] + 
                    pLine[1][i+1] * nTemplate[5] + 
                    pLine[2][i-1] * nTemplate[6] + 
                    pLine[2][i] * nTemplate[7] + 
                    pLine[2][i+1] * nTemplate[8]) / 16;
            pLine[0][i-1] = (unsigned char) nValue; 
        } 
    } 
}
鏉ユ簮:http://blog.csdn.net/wqvbjhc/article/details/6065526


/* 
    nR:紿楀彛澶у皬
*/

void GaussianSmooth2(uchar *pSrcImg, int nW, int nH,int nR, float sigma, uchar* pDstImg)
{
    if(NULL==pSrcImg)
        return;

    int i,j,x,y;

    // 楂樻柉婊ゆ嘗鍣ㄧ殑鏁扮粍闀垮害

    
// 涓緇撮珮鏂暟鎹護娉㈠櫒
    int nSize = nR*nR;
    int nHalfLen = nR/2;  //  紿楀彛闀垮害鐨?/2

    float *pdKernel = new float[nSize];

    // 楂樻柉緋繪暟涓庡浘璞℃暟鎹殑鐐逛箻
    float  dDotMul  = 0.0   ;

    // 楂樻柉婊ゆ嘗緋繪暟鐨勬誨拰
    float  dWeightSum  = 0.0;          

    float t = 0.0;
    for (i=0;i<nSize;i++)
    {    
        t = exp(-((i-nHalfLen)*(i-nHalfLen))/(2*sigma*sigma));
        pdKernel[i] = t;
        dWeightSum += t;

    }

    for (i=0;i<nSize;i++)
    {
        pdKernel[i]/=dWeightSum;
    }

    memcpy(pDstImg,pSrcImg,nW*nH);


    for(y=nHalfLen; y<nH-nHalfLen; y++)
    {
        for(x=nHalfLen; x<nW-nHalfLen; x++)
        {
            dDotMul    = 0.0;
            for(i=-nHalfLen; i<=nHalfLen; i++)
            {    
                for (j=-nHalfLen; j<=nHalfLen; j++)
                {
                    dDotMul +=   (pdKernel[(nHalfLen+i)*3 +j+nHalfLen]*(float(pSrcImg[(y+i)*nW+ (j+x)])));
                }    
            }
            pDstImg[y*nW + x] =  (int) (dDotMul);
        }
    }

    delete [] pdKernel;
}


澶╀笅 2016-07-13 17:25 鍙戣〃璇勮
]]>
鐩存柟鍥懼潎琛″寲http://www.shnenglu.com/aaxron/archive/2016/07/13/213928.html澶╀笅澶╀笅Wed, 13 Jul 2016 07:08:00 GMThttp://www.shnenglu.com/aaxron/archive/2016/07/13/213928.htmlhttp://www.shnenglu.com/aaxron/comments/213928.htmlhttp://www.shnenglu.com/aaxron/archive/2016/07/13/213928.html#Feedback0http://www.shnenglu.com/aaxron/comments/commentRss/213928.htmlhttp://www.shnenglu.com/aaxron/services/trackbacks/213928.htmlhttp://blog.csdn.net/xiaowei_cqu/article/details/7606607#
http://blog.csdn.net/guoyk1990/article/details/8108667

void CFpOpencvTestDlg::OnBnClickedBtnStep2()
{
    CString InputImagePath = "D:\\Images\\1.jpg";    
    CString OutputImagePath("D:\\Images\\8.jpg");

    IplImage * image= cvLoadImage(InputImagePath);
    IplImage* eqlimage=cvCreateImage(cvGetSize(image),image->depth,3);
    //鍒嗗埆鍧囪 鍖栨瘡涓俊閬?/span>
    IplImage* redImage  =cvCreateImage(cvGetSize(image),image->depth,1);
    IplImage* greenImage=cvCreateImage(cvGetSize(image),image->depth,1);
    IplImage* blueImage =cvCreateImage(cvGetSize(image),image->depth,1);
    cvSplit(image,blueImage,greenImage,redImage,NULL);

    cvEqualizeHist(redImage,redImage);
    cvEqualizeHist(greenImage,greenImage); 
    cvEqualizeHist(blueImage,blueImage); 
    //鍧囪 鍖栧悗鐨勫浘鍍?/span>
    cvMerge(blueImage,greenImage,redImage,NULL,eqlimage);

    //淇濆瓨鍥劇墖  
    cvSaveImage(OutputImagePath, eqlimage);  
}





澶╀笅 2016-07-13 15:08 鍙戣〃璇勮
]]>
sobel綆楀瓙http://www.shnenglu.com/aaxron/archive/2016/07/11/213913.html澶╀笅澶╀笅Mon, 11 Jul 2016 07:14:00 GMThttp://www.shnenglu.com/aaxron/archive/2016/07/11/213913.htmlhttp://www.shnenglu.com/aaxron/comments/213913.htmlhttp://www.shnenglu.com/aaxron/archive/2016/07/11/213913.html#Feedback0http://www.shnenglu.com/aaxron/comments/commentRss/213913.htmlhttp://www.shnenglu.com/aaxron/services/trackbacks/213913.html绱㈣礉灝旂畻瀛愶紙Sobeloperator錛変富瑕佺敤浣滆竟緙樻嫻嬶紝鍦ㄦ妧鏈笂錛屽畠鏄竴紱繪暎鎬у樊鍒嗙畻瀛愶紝鐢ㄦ潵榪愮畻鍥懼儚浜害鍑芥暟鐨勭伆搴︿箣榪戜技鍊箋傚湪鍥懼儚鐨勪換浣曚竴鐐逛嬌鐢ㄦ綆楀瓙錛屽皢浼氫駭鐢熷搴旂殑鐏板害鐭㈤噺鎴栨槸鍏舵硶鐭㈤噺
Sobel鍗風Н鍥犲瓙涓猴細

http://blog.csdn.net/goodshot/article/details/10170073

http://blog.csdn.net/yanmy2012/article/details/8110316

涓轟簡鍔犲揩綆楁硶閫熷害:
鍏堢緝灝忓浘鍍?姝ラ暱涓?,鐒跺悗璁$畻姊害,
void getGrads(unsigned char* g_lpTemp, unsigned char* g_lpDivide, int IMGW, int IMGH, long r)
{
    long  x, y, i, j;
    long  vx, vy, lvx, lvy;
    unsigned char   *lpSrc = NULL;
    unsigned char   *lpDiv = NULL;
    long    num;
    int gradSum;
    int grad;
    
    r=6;
    for(y = 0; y < IMGH/2; y++)
    {
        for(x = 0; x < IMGW/2; x++)
        {            
            lpDiv = g_lpDivide + 2*y*IMGW + 2*x;
            lvx = 0;
            lvy = 0;
            num = 0;
            gradSum = 0;
            for(i = -r; i <= r; i++)    // 涓烘彁楂橀熷害錛屾闀夸負2
            {
                if(y+i<1 || y+i>=IMGH/2-1) continue;
                for(j = -r; j <= r; j++)    // 涓烘彁楂橀熷害錛屾闀夸負2
                {
                    if(x+j<1 || x+j>=IMGW/2-1) continue;
                    lpSrc = g_lpTemp + (y+i)*(IMGW/2) + x+j;
                    //姹倄鏂瑰悜鍋忓
                    vx = *(lpSrc + IMGW/2 + 1) - *(lpSrc + IMGW/2 - 1) +
                         *(lpSrc + 1)*2 - *(lpSrc - 1)*2 +
                         *(lpSrc - IMGW/2 + 1) - *(lpSrc - IMGW/2 - 1);
                    //姹倅鏂瑰悜鍋忓
                    vy = *(lpSrc + IMGW/2 - 1) - *(lpSrc - IMGW/2 - 1) +
                         *(lpSrc + IMGW/2)*2 - *(lpSrc - IMGW/2)*2 +
                         *(lpSrc + IMGW/2 + 1) - *(lpSrc - IMGW/2 + 1);

                    gradSum += (labs(vx)+labs(vy));        
                    //gradSum += vx*vx+vy*vy;

                    num++;

                }
            }

            if(num == 0)
                num = 1;
            // 姹傚箙鍊鹼紝淇濆瓨鍒癵_lpDivide涓紝鐢ㄤ簬鍒嗗壊鍓嶆櫙鑳屾櫙
            grad = gradSum/num;
            
            if(grad > 255)
                grad = 255;
            *lpDiv = (BYTE)grad;
            *(lpDiv + 1) = (BYTE)grad;
            *(lpDiv + IMGW) = (BYTE)grad;
            *(lpDiv + IMGW + 1) = (BYTE)grad;
        }
    }
}

澶╀笅 2016-07-11 15:14 鍙戣〃璇勮
]]>
国产—久久香蕉国产线看观看| 久久国产成人午夜aⅴ影院| 亚洲AV成人无码久久精品老人| 人妻精品久久久久中文字幕一冢本| 色综合久久无码中文字幕| 国产成人久久精品区一区二区| 久久久久国产一级毛片高清版| 久久久WWW成人免费精品| 久久久久久久波多野结衣高潮| 久久精品成人免费网站| 久久婷婷五月综合色奶水99啪| 996久久国产精品线观看| 亚洲伊人久久综合中文成人网| 东京热TOKYO综合久久精品| 久久亚洲2019中文字幕| 久久久无码精品亚洲日韩蜜臀浪潮 | 久久综合狠狠综合久久激情 | 欧美性大战久久久久久| AV无码久久久久不卡网站下载| 欧美一区二区久久精品| 久久国产精品一区| 国产精品久久久久天天影视| 一本久久a久久精品亚洲| 久久天天躁狠狠躁夜夜2020| 国产亚洲色婷婷久久99精品| 国内高清久久久久久| 久久午夜综合久久| 久久久久无码精品| 精品国产综合区久久久久久| 日本久久久精品中文字幕| 国产精品久久亚洲不卡动漫| 亚洲精品高清国产一线久久| 久久无码高潮喷水| 亚洲国产成人久久一区久久| 久久综合九色综合欧美就去吻| 国产免费久久精品丫丫| 国产精品伦理久久久久久| 亚洲午夜久久影院| 久久久久综合中文字幕| 品成人欧美大片久久国产欧美| 久久精品免费大片国产大片|