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

  • 大小: 1.31MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2023-08-16
  • 語言: 其他
  • 標簽: 高斯模板??

資源簡介

生成高斯模板,模板大小、均值、方差等參數(shù)可自己手動設置。利用生成的模板進行高斯濾波。

資源截圖

代碼片段和文件信息


#include?“cv.h“
#include?“highgui.h“
#include?“math.h“
#include?“stdio.h“

bool?FunGauss(int?Nfloat?sigmaint*?iTemplatefloat*?fCof);

int?main(int?argcchar**?argv)
{
IplImage*?src;

if?(argc?==?2?&&?(src?=?cvLoadImage(argv[1]0))?!=?0)
{
//高斯濾波后圖像
IplImage*?dst_Gauss?=?cvCreateImage(cvGetSize(src)src->depthsrc->nChannels);
cvCopy(srcdst_GaussNULL);
//原圖像與高斯濾波后圖像之差
IplImage*?dst_differ?=?cvCreateImage(cvGetSize(src)src->depthsrc->nChannels);

int?ijmn;??//循環(huán)變量
int?iGray;??//灰度值

float?fC?=?0;??//高斯模板系數(shù)
int?N?=?3;??//模板邊長的一半
int*?iTemplate?=?new?int[(2*N+1)*(2*N+1)];

FunGauss(N2.0iTemplate&fC);??//生成N*N高斯模板,系數(shù)存放在iTemplate里

//顯示生成的高斯模板系數(shù)
for?(i=0;i<2*N+1;i++)
{
for?(j=0;j<2*N+1;j++)
{
printf(“%d?“iTemplate[i*(2*N+1)+j]);
if?(j?==?2*N)
{
printf(“\n“);
}

}
}

for?(i=N+1;iheight-N-1;i++)
{
for?(j=N+1;jwidth-N-1;j++)
{
iGray?=?0;
for?(m=0;m<2*N+1;m++)
{
for?(n=0;n<2*N+1;n++)
{
iGray?+=?
(int)((uchar*)(src->imageData+(i-N-1+m)*src->widthStep))[j-N-1+m]
*iTemplate[m*(2*N+1)+n];
}
}
((uchar*)(dst_Gauss->imageData+i*src->widthStep))[j]?=?(uchar)(iGray*fC);
}
}

cvNamedWindow(“src“1);
cvShowImage(“src“src);
cvNamedWindow(“dst_Gauss“1);
cvShowImage(“dst_Gauss“dst_Gauss);
cvWaitKey(0);
cvDestroyWindow(“src“);
cvReleaseImage(&src);
cvDestroyWindow(“dst_Gauss“);
cvReleaseImage(&dst_Gauss);

return?0;
}

return?-1;
}

bool?FunGauss(int?Nfloat?sigmaint*?iTemplatefloat*?fCof)
{
int?ij;??//循環(huán)變量
float?t;??//指數(shù)部分
int?C;????//歸一化系數(shù)
float*?fTemp?=new?float[(N+1)*(N+1)];
int*?iMat?=?new?int[(2*N+1)*(2*N+1)];
int*?iArray?=new?int[(2*N+1)*(2*N+1)];
iArray?=?iTemplate;
for?(i=0;i {
for?(j=0;j {
t=(float)(i*i+j*j)/(float)pow(sigma2);??//計算指數(shù)項
fTemp[i*(N+1)+j]?=?(float)(1.0/exp(t/2));??//計算高斯函數(shù)離散化后對應的模板取值
}
}
C?=?(int)ceil(1/fTemp[(N+1)*(N+1)-1]+0.5);??//?計算歸一化系數(shù)

//給模板右下角賦值
for?(i=0;i {
for?(j=0;j {
iMat[(N+i)*(2*N+1)+(N+j)]?=?(int)(fTemp[i*(N+1)+j]*C+0.5);
}
}

//給模板左下角賦值
for?(i=N;i<2*N+1;i++)
{
for?(j=0;j {
iMat[i*(2*N+1)+j]?=?iMat[i*(2*N+1)+(2*N-j)];
}
}

//給模板上半部分賦值
for?(i=0;i {
for?(j=0;j<2*N+1;j++)
{
iMat[i*(2*N+1)+j]?=?iMat[(2*N-i)*(2*N+1)+j];
}
}

//計算總系數(shù)
for?(i=0;i<2*N+1;i++)
{
for?(j=0;j<2*N+1;j++)
{
*fCof?+=?(float)iMat[i*(2*N+1)+j];
}
}
*fCof?=?(float)1.0/(*fCof);


//將得到的模板數(shù)返回
for?(i=0;i<2*N+1;i++)
{
for?(j=0;j<2*N+1;j++)
{
iArray[i*(2*N+1)+j]?=?iMat[i*(2*N+1)+j];
}
}

delete?iMat;
delete?fTemp;
return?TRUE;
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????217154??2009-03-31?12:50??Gaussian_高斯濾波\Debug\Gaussian.exe

?????文件?????236072??2009-03-31?12:50??Gaussian_高斯濾波\Debug\Gaussian.ilk

?????文件??????18014??2009-03-31?12:50??Gaussian_高斯濾波\Debug\Gaussian.obj

?????文件????4109316??2009-03-31?12:45??Gaussian_高斯濾波\Debug\Gaussian.pch

?????文件?????484352??2009-03-31?12:50??Gaussian_高斯濾波\Debug\Gaussian.pdb

?????文件?????164864??2009-03-31?12:50??Gaussian_高斯濾波\Debug\vc60.idb

?????文件??????94208??2009-03-31?12:50??Gaussian_高斯濾波\Debug\vc60.pdb

?????目錄??????????0??2009-09-28?10:35??Gaussian_高斯濾波\Debug

?????文件???????2979??2009-03-31?12:50??Gaussian_高斯濾波\Gaussian.cpp

?????文件???????4393??2009-03-27?15:47??Gaussian_高斯濾波\Gaussian.dsp

?????文件????????522??2009-03-27?14:36??Gaussian_高斯濾波\Gaussian.dsw

?????文件??????41984??2009-04-03?12:10??Gaussian_高斯濾波\Gaussian.ncb

?????文件??????54784??2009-04-03?12:10??Gaussian_高斯濾波\Gaussian.opt

?????文件???????1359??2009-03-31?12:50??Gaussian_高斯濾波\Gaussian.plg

?????目錄??????????0??2009-04-03?12:10??Gaussian_高斯濾波

-----------?---------??----------?-----??----

??????????????5430001????????????????????15


評論

共有 條評論

相關資源