中值滤波
数字图像图理图图
图图图告
图图二,中图图波学号, 姓名, 成图,
图南大图算机科
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
系学学与
二0 10 年 11 月20 日一、图图目的,
图一图有点的图图行分析通图图波提高其图量。噪并
二、算法分析
(1)均图图波
图图图像平滑最常图的
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
是在像素图域求局部均图~图内称均图图波。
3 x 3 均图图波
O(X, Y) = ( I(X-1, Y-1) + I(X, Y-1) + I(X+1, Y-1)
+ I(X-1, Y) + I(X, Y) + I(X+1, Y)
+ I(X-1, Y+1) + I(X, Y+1) + I(X+1, Y+1) ) / 9
图波核h(x~y),
步图:
1,模板游走
2,将mask下图图的灰度图相加~求平均图
3,用均图代替f (x,y)
h(x,y)矩图的元素之和乘前面系图数1~h(x,y)矩图中心的元素占的比
例越小~越平滑~图像越模糊
4,图图像的四周图图,
图0 或者不图理图图
均图图波的特点,
局部求均图的算或平均图算使字信图“平坦”~可以在图像中消除或运数号
抑制。同图~图像中景物图图也不同程度地图得模糊。噪声会
;2,中图图波
中图图波均图图波的图图限于,中图图波是求局部与区中图而不是局部均图~图即参与图算的像素灰度图按大小排序~然后取位置居中的像素灰度图。使用二图图波需注意
1,有尖图角何图的图像~一般采用十字~大小不超图最小有效物几构窗
体的尺寸
2,有图多的点、图、尖图角的图图图~不用中图图波构
中图图波的机理
在图像局部中~图散点的灰度图图大或图小~求中图可以自图其消除噪声将。但中图图波不同于均图图波~中图直接取自某像素的灰度图~所以能图好地保个
持图像景物原。 状
中图图波的特点
可以消除图散点而不或图小程度地造成图图模糊。噪声会
三、部分主代图体
//用冒泡法图一堆图图行排序~返回图元素的中图数并数
unsigned char CDibImage::GetMedianNum(unsigned char * bArray, int iFilterLen)
{
inti,j;// 循图图量
unsigned char bTemp;
// 用冒泡法图图图行排序数
for (j = 0; j < iFilterLen - 1; j ++)
{
for (i = 0; i < iFilterLen - j - 1; i ++)
{
if (bArray[i] > bArray[i + 1])
{
//互图
bTemp = bArray[i];
bArray[i] = bArray[i + 1];
bArray[i + 1] = bTemp;
}
}
}
// 图算中图
if ((iFilterLen & 1) > 0)
{
//数数个个图有奇元素~返回中图一元素
bTemp = bArray[(iFilterLen + 1) / 2];
}
else
{
//数数个个图有偶元素~返回中图一元素
bTemp = (bArray[iFilterLen / 2] + bArray[iFilterLen / 2 + 1]) / 2;
}
return bTemp;
}
BOOL CDibImage::MedianFilter(LPSTR lpDIBBits, LONG lWidth, LONG
lHeight, int iFilterH, int iFilterW, int iFilterMX, int iFilterMY)
{
unsigned char*lpSrc;//指向源图像的指图
unsigned char*lpDst;//指向要图制域的指图区
LPSTRlpNewDIBBits;//指向图制图像的指图
HLOCALhNewDIBBits;
unsigned char* aValue;//指向图波器图的指图数
HLOCALhArray;
LONGi,j,k,l;//循图图量
LONGlLineBytes;//图像每行的字图数
lLineBytes = WIDTHBYTES(lWidth * 8);
//图图分配存~以保存新图像内
hNewDIBBits = LocalAlloc(LHND, lLineBytes * lHeight);if (hNewDIBBits == NULL)
{
return FALSE;
}
lpNewDIBBits = (char * )LocalLock(hNewDIBBits);// 初始化图像图原始图像
memcpy(lpNewDIBBits, lpDIBBits, lLineBytes * lHeight);//图图分配存~以保存图波器图内数
hArray = LocalAlloc(LHND, iFilterH * iFilterW);if (hArray == NULL)
{
LocalUnlock(hNewDIBBits);
LocalFree(hNewDIBBits);
return FALSE;
}
aValue = (unsigned char * )LocalLock(hArray);// 图始中图图波
// 行;除去图图行,几
for(i = iFilterMY; i < lHeight - iFilterH + iFilterMY + 1; i++)
{
//列;除去图图列,几
for(j = iFilterMX; j < lWidth - iFilterW + iFilterMX + 1; j++)
{
//指向新DIB第i行~第j个象素的指图
lpDst = (unsigned char*)lpNewDIBBits + lLineBytes * (lHeight
- 1 - i) + j;
//图取图波器的图数
for (k = 0; k < iFilterH; k++)
{
for (l = 0; l < iFilterW; l++)
{
//指向DIB第i-FilterMY+k行~第j-FilterMX+l个象素的指图
lpSrc = (unsigned char*)lpDIBBits +
lLineBytes * (lHeight - 1
- i + iFilterMY - k) + j - iFilterMX + l;
// 保存象素图
aValue[k * iFilterW + l] = *lpSrc;
}
}
// 图取中图
* lpDst = GetMedianNum(aValue, iFilterH * iFilterW);
}
}
// 图制图图后的图像
memcpy(lpDIBBits, lpNewDIBBits, lLineBytes * lHeight);
LocalUnlock(hNewDIBBits);
LocalFree(hNewDIBBits);
LocalUnlock(hArray);
LocalFree(hArray);
return TRUE;
}
四、图图图果分析
图程序图图了中图图波~下面是图图截,个屏