图像平滑出处理
图像平滑主要目的是减少噪声。图像中的噪声种类很多。对图像信号幅度和相位的影响十分复杂,有些噪声和图像信号互相独立不相关,有些是相关的,噪声本身之间也有些相关。因此要减少图像中的噪声,必须针对具体情况采用不同的方法,否则很难获得满意的处理效果。
图像中的噪声往往和信号交织在一起,尤其是乘性噪声。如果平滑不当,就会使图像本身的细节如边界轮廓,线条等变得模糊不清,从而使图像降质;所以图像平滑过程总是要付出一定的细节模糊代价。如何既能平滑掉图像中的噪声,而又尽量保持图像细节即少付出一些细节模糊代价是图像平滑研究的主要问题之一。
椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。 所谓高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。
均值滤波器
—— 原理 ? 假设待处理的图像为f(x,y),处理后图像为g(x,y),领域平均法图像平滑处理的数学表达可表示为:
1g(x,y)?M(m,n)?S?f(x?m,y?n)? M为领域内所包含的像素总数,S为事先确定的领域,该领域不包括(x,y)点。 ? 平滑处理的图像g(x,y)中的每个像素的灰度值由包含在(x,y)的预定邻域中的f(x,y)几个像素的灰度平均值来决定。 ? 在图像上,对待处理的像素给定一个模板,该模板包括了其周围的邻近像素。将模板中的全体像素的均值来替代原来的像素值的方法。
均值滤波器
—— 处理方法
以模块运算系数表示即:
在资源视图中添加菜单项: ID_AVERSMOOTH ID_MIDSMOOTH
在右视图类中添加均值滤波菜单响应函数:OnAversmooth()
void CDynSplitView::OnAversmooth() {
int w[3][3]={ {1,1,1},{1,1,1},{1,1,1} }; float n=9.0;
clearmem();
memcpy(image_out,image_in,m_imagex*m_imagey); int i,j,buf;
for(j=1;j for (i=1;i buf=(int)((*(image_in+(j-1)*m_imagex+i-1)*w[0][0]+ *(image_in+(j-1)*m_imagex+i-1)*w[0][1]+ *(image_in+(j-1)*m_imagex+i+1)*w[0][2]+ *(image_in+j*m_imagex+i-1)*w[1][0]+ *(image_in+j*m_imagex+i)*w[1][1]+ *(image_in+j*m_imagex+i+1)*w[1][2]+ *(image_in+(j+1)*m_imagex+i-1)*w[2][0]+ *(image_in+(j+1)*m_imagex+i)*w[2][1]+ *(image_in+(j+1)*m_imagex+i+1)*w[2][2] )/n); *(image_out+j*m_imagex+i)=buf; Invalidate(); } 均值滤波器的改进 —— 加权均值滤波 ? 均值滤波器的缺点是,会使图像变的模糊,原因是它对所有的点都是同等对待。 ? 为了改善效果,就可采用加权平均的方式来构造滤波器。 ab w(s,t)f(x?s,y?t)?? s??at??bg(x,y)?ab w(s,t)?? s??at??b 一般认为距离模板中心像素近的像素对平滑结果影响较大,所以接近中心的系数应较大,模板边界附近的系数应较小。 ?111??121???1?1?H?242H?121 2110?16??????121???111?? 0??01?111?4?1?1?11? H3?8?101?H4?2?414?1 ???11100???4?? 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库第四章 图像平滑处理在线全文阅读。
相关推荐: