锘??xml version="1.0" encoding="utf-8" standalone="yes"?>狠狠色丁香婷综合久久,久久精品国产清自在天天线,精品国产一区二区三区久久久狼http://m.shnenglu.com/aaxron/category/21234.html璁板綍淇鐨勫嵃璁? zh-cnThu, 14 Jul 2016 23:36:54 GMTThu, 14 Jul 2016 23:36:54 GMT60鐏板害鍥懼儚楂樻柉騫蟲粦http://m.shnenglu.com/aaxron/archive/2016/07/13/213932.html澶╀笅澶╀笅Wed, 13 Jul 2016 09:25:00 GMThttp://m.shnenglu.com/aaxron/archive/2016/07/13/213932.htmlhttp://m.shnenglu.com/aaxron/comments/213932.htmlhttp://m.shnenglu.com/aaxron/archive/2016/07/13/213932.html#Feedback0http://m.shnenglu.com/aaxron/comments/commentRss/213932.htmlhttp://m.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://m.shnenglu.com/aaxron/archive/2016/07/13/213928.html澶╀笅澶╀笅Wed, 13 Jul 2016 07:08:00 GMThttp://m.shnenglu.com/aaxron/archive/2016/07/13/213928.htmlhttp://m.shnenglu.com/aaxron/comments/213928.htmlhttp://m.shnenglu.com/aaxron/archive/2016/07/13/213928.html#Feedback0http://m.shnenglu.com/aaxron/comments/commentRss/213928.htmlhttp://m.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://m.shnenglu.com/aaxron/archive/2016/07/11/213913.html澶╀笅澶╀笅Mon, 11 Jul 2016 07:14:00 GMThttp://m.shnenglu.com/aaxron/archive/2016/07/11/213913.htmlhttp://m.shnenglu.com/aaxron/comments/213913.htmlhttp://m.shnenglu.com/aaxron/archive/2016/07/11/213913.html#Feedback0http://m.shnenglu.com/aaxron/comments/commentRss/213913.htmlhttp://m.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级毛片| 久久99热只有频精品8| 9191精品国产免费久久| 久久强奷乱码老熟女| 日韩av无码久久精品免费| 99久久国产亚洲高清观看2024 | 精品久久久无码人妻中文字幕| 亚洲伊人久久大香线蕉综合图片| AV无码久久久久不卡网站下载| 久久亚洲国产成人影院网站| 欧美喷潮久久久XXXXx| 国产精自产拍久久久久久蜜| 性色欲网站人妻丰满中文久久不卡| 国内精品久久国产大陆| 亚洲欧洲中文日韩久久AV乱码| 国产精品一久久香蕉国产线看观看| 日本加勒比久久精品| 欧美综合天天夜夜久久| 国色天香久久久久久久小说| 久久久久久久久久久免费精品| 久久ZYZ资源站无码中文动漫 | 国产99精品久久| 蜜臀av性久久久久蜜臀aⅴ| 香港aa三级久久三级老师2021国产三级精品三级在 | 久久99国产综合精品女同| 久久久久人妻精品一区三寸蜜桃| 国产亚洲欧美精品久久久| 7777久久久国产精品消防器材 | 性高湖久久久久久久久| 午夜视频久久久久一区| 欧美久久久久久午夜精品| 久久最新精品国产| 粉嫩小泬无遮挡久久久久久| 亚洲成色WWW久久网站| 亚洲精品无码久久久影院相关影片| 国产欧美一区二区久久| 99久久国产宗和精品1上映| 久久综合久久综合亚洲| 色狠狠久久综合网|