91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 12.42MB
    文件類(lèi)型: .rar
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2023-07-08
  • 語(yǔ)言: C/C++
  • 標(biāo)簽: canny??MFC??

資源簡(jiǎn)介

在vs2008中實(shí)現(xiàn)的canny算子程序,用MFC寫(xiě)的圖形界面。

資源截圖

代碼片段和文件信息

#include?“stdafx.h“
#include?“afx.h“
#include?“math.h“
#include?“canny.h“

//?一維高斯分布函數(shù),用于生成平滑函數(shù)中的高斯濾波系數(shù)
void?CreatGauss(double?sigmadouble?**pdKernelint?*pnWidowSize)
{
LONG?i;
????int?nCenter;//數(shù)組中心點(diǎn)
????double?dDis;//數(shù)組中一點(diǎn)到中心點(diǎn)距離

????double?dValue;//中間變量
????double?dSum;
????dSum?=?0;

????*pnWidowSize?=?1+?2*ceil(3*sigma);//?[-3*sigma3*sigma]?以?xún)?nèi)數(shù)據(jù),會(huì)覆蓋絕大部分濾波系數(shù)
????nCenter?=?(*pnWidowSize)/2;
????*pdKernel?=?new?double[*pnWidowSize];

????for(i=0;i<(*pnWidowSize);i++){//生成高斯數(shù)據(jù)
dDis?=?double(i?-?nCenter);
????????dValue?=?exp(-(1/2)*dDis*dDis/(sigma*sigma));
????????(*pdKernel)[i]?=?dValue;
????????dSum+=dValue;
}

????for(i=0;i<(*pnWidowSize);i++){//歸一化
(*pdKernel)[i]/=dSum;
}
}

//用高斯濾波器平滑原圖像
void?GaussianSmooth(int?wint?nHeightLPBYTE?pGrayLPBYTE?pResultdouble?sigma)
{
LONG?x?y;
LONG?i;
????int?nWindowSize;//高斯濾波器長(zhǎng)度
????int?nLen;//窗口長(zhǎng)度
????double?*pdKernel;//一維高斯濾波器
????double?dDotMul;//高斯系數(shù)與圖像數(shù)據(jù)的點(diǎn)乘
????double?dWeightSum;//濾波系數(shù)總和

????double?*pdTemp;
????pdTemp?=?new?double[w*nHeight];

????CreatGauss(sigma?&pdKernel?&nWindowSize);//產(chǎn)生一維高斯數(shù)據(jù)
????nLen?=?nWindowSize/2;

????for(y=0;y for(x=0;x dDotMul?=?0;
????????????dWeightSum?=?0;
????????????for(i=(-nLen);i<=nLen;i++){
if((i+x)>=0?&&?(i+x) dDotMul+=(double)pGray[y*w+(i+x)]?*?pdKernel[nLen+i];
????????????????????dWeightSum?+=?pdKernel[nLen+i];
}
}
????????????pdTemp[y*w+x]?=?dDotMul/dWeightSum;
}
}

????for(x=0;?x for(y=0;?y dDotMul?=?0;
????????????dWeightSum?=?0;
????????????for(i=(-nLen);i<=nLen;i++){
if((i+y)>=0?&&?(i+y) dDotMul?+=?(double)pdTemp[(y+i)*w+x]*pdKernel[nLen+i];
????????????????????dWeightSum?+=?pdKernel[nLen+i];
}
}
pResult[y*w+x]?=?(unsigned?char)dDotMul/dWeightSum;
}
}

????delete?[]pdKernel;
????pdKernel?=?NULL;
????delete?[]pdTemp;
????pdTemp?=?NULL;
}

//?方向?qū)?shù)求梯度
void?Grad(int?wint?nHeightLPBYTE?pGrayint?*pGradXint?*pGradYint?*pMag)
{
LONG?yx;


????for(y=1;y for(x=1;x pGradX[y*w?+x]?=?(int)(?pGray[y*w+x+1]-pGray[y*w+?x-1]?);

????for(x=1;x for(y=1;y pGradY[y*w?+x]?=?(int)(pGray[(y+1)*w?+x]?-?pGray[(y-1)*w?+x]);

????//求梯度
????double?dSqt1;
????double?dSqt2;

????for(y=0;?y for(x=0;?x dSqt1?=?pGradX[y*w?+?x]*pGradX[y*w?+?x];//二階范數(shù)求梯度
????????????dSqt2?=?pGradY[y*w?+?x]*pGradY[y*w?+?x];
????????????pMag[y*w+x]?=?(int)(sqrt(dSqt1+dSqt2)+0.5);
}
}

//非最大抑制
void?NonmaxSuppress(int?*pMagint?*pGradXint?*pGradYint?wint?nHeightLPBYTE?pNSRst)
{
LONG?yx;
????int?nPos;

????int?gx;//梯度分量
????int?gy;

????int?g1g2g3g4;//中間變量
????double?weight;
????double?dTmpdTmp1dTmp2;

????for(x=0;x pNSRst[x]?=?0;
????????pNSRst[(nHeight-1)*w+x]?=?0;
}
????for(y=0;y

?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----

?????文件????????875??2011-12-06?15:55??Dib\Dib.sln

????..A..H.?????39424??2013-04-16?16:04??Dib\Dib.suo

?????文件??????50692??2011-12-10?14:24??Dib\Dib\Dib.aps

?????文件???????3191??2011-12-06?15:55??Dib\Dib\Dib.cpp

?????文件????????445??2011-12-06?15:55??Dib\Dib\Dib.h

?????文件??????11460??2011-12-06?16:48??Dib\Dib\Dib.rc

?????文件???????6081??2011-12-10?14:34??Dib\Dib\Dib.vcproj

?????文件???????1407??2011-12-06?16:48??Dib\Dib\Dib.vcproj.no632.Student.user

?????文件????????957??2011-12-06?15:55??Dib\Dib\DibDoc.cpp

?????文件????????528??2011-12-06?15:55??Dib\Dib\DibDoc.h

?????文件???????1074??2011-12-06?16:48??Dib\Dib\DibView.h

?????文件???????1793??2011-12-06?15:55??Dib\Dib\MainFrm.cpp

?????文件????????655??2011-12-06?15:55??Dib\Dib\MainFrm.h

?????文件???????3334??2011-12-06?15:55??Dib\Dib\ReadMe.txt

?????文件????????628??2011-12-06?16:48??Dib\Dib\resource.h

?????文件????????134??2011-12-06?15:55??Dib\Dib\stdafx.cpp

?????文件???????1796??2011-12-06?15:55??Dib\Dib\stdafx.h

?????文件???????1030??2011-12-06?15:55??Dib\Dib\targetver.h

?????文件??????21630??2003-07-23?17:52??Dib\Dib\res\Dib.ico

?????文件????????359??2011-12-06?15:55??Dib\Dib\res\Dib.rc2

?????文件???????1078??2003-07-23?17:52??Dib\Dib\res\DibDoc.ico

?????文件???????1078??2003-07-23?17:52??Dib\Dib\res\Toolbar.bmp

?????文件???????6124??2013-04-15?16:22??Dib\Dib\Debug\BuildLog.htm

?????文件????????920??2011-12-06?16:27??Dib\Dib\Debug\Dib.exe.embed.manifest

?????文件????????984??2011-12-06?16:27??Dib\Dib\Debug\Dib.exe.embed.manifest.res

?????文件????????861??2013-04-15?16:22??Dib\Dib\Debug\Dib.exe.intermediate.manifest

?????文件??????35697??2011-12-06?16:27??Dib\Dib\Debug\Dib.obj

?????文件???25296896??2011-12-06?16:27??Dib\Dib\Debug\Dib.pch

?????文件??????28140??2011-12-10?14:21??Dib\Dib\Debug\Dib.res

?????文件??????20798??2011-12-06?16:27??Dib\Dib\Debug\DibDoc.obj

............此處省略26個(gè)文件信息

評(píng)論

共有 條評(píng)論