图像均值滤波代码
作者:cnfgg 日期:2009-09-03
数字图像中经常含有零均值的随机噪声,可以用均值滤波的方法进行降噪处理。均值滤波也称为线性滤波,其采用的主要方法为领域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度g(x,y),即g(x,y)=1/m ∑f(x,y) ,其中m为该模板中包含当前像素在内的像素总个数。
复制内容到剪贴板
程序代码
程序代码void AverageFilter(IMG_DATATYPE *pImg,int iWidth,int iHeight,int size)
{
IMG_DATATYPE *pSrc = NULL;
pSrc = new IMG_DATATYPE[iWidth * iHeight];
int i,j,x,y,sum;
if(pImg == NULL || pSrc == NULL || iWidth <= 0 || iHeight <= 0)
return;
for(i=0;i<iHeight;i++)
{
for(j=0;j<iWidth;j++)
{
sum = 0;
for(x = -size/2;x <= size/2;x++)
for(y = -size/2;y <= size/2;y++)
{
if(i + x >= 0 && i + x < iHeight && j + y >= 0 && j + y < iWidth)
sum += pImg[(i + x) * iWidth + (j + y)];
}
pSrc[i * iWidth + j] = sum / (size * size);
}
}
memcpy(pImg, pSrc, iWidth * iHeight * sizeof(IMG_DATATYPE));
delete[] pSrc;
}
[本日志由 cnfgg 于 2009-11-10 09:49 AM 编辑]
文章来自: 本站原创
Tags: vc 图像 均值滤波 代码 领域平均
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
上一篇
下一篇
