文档详情

图像的平滑与锐化和拉普拉斯模糊数字图像处理.docx

发布:2024-07-30约4.04千字共7页下载文档
文本预览下载声明

昆明理工大学(数字图像处理)实验报告

实验名称 图像的平滑与锐化和拉普拉斯模糊

实验时间 2013 年 4 月 15 日专业班级学 号 姓 名

成 绩 教师评语:

一、实验目的

掌握图像平滑与锐化的基本原理。用C++编程实现图像的平滑与锐化。

利用算法的调用来实现图像的平滑和锐化。

二、实验原理

1、二维中值滤波平滑:用中值算法把数字图像中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,这样来过滤噪声,实现平滑。但是,这样产生出来的图像会有一定的模糊。

2、梯度算法锐化:用微分的方法对图像处理,锐化因为平滑导致的模糊。

3、拉普拉斯模糊:通过二阶微分像素变得跟周围4个像素一样。

把一个点的

4、去除拉普拉斯模糊:将拉普拉斯模糊形式从原图像中去

除。

三、实验内容

1、选择一种平滑方式对图像进行平滑操作。

2、选择一种锐化方法对图像进行锐化操作。

3、分析图像的平滑与锐化的作用是什么。

4、试分析各种方法的特点。

四、实验步骤

1.在之前实验的基础上对程序进行操作。2.在ClassView中选择添加成员函数mysort

在FileView中找到建立的成员函数的函数名,编写代码。

在ResourcesView中的Menu选项中建立“中值滤波”、“图像锐化”和“拉普拉斯算法”三个子菜单。

在“中值滤波”的子菜单的下拉菜单中创建一个“二维中值滤波”的项,在“拉普拉斯算法”下拉菜单中建立“拉普拉斯模糊”和“去除拉普拉斯模糊”两个项。

三 ,文件电)编捂屯)查看过)点运笣灰度变换几河变换互方图中诅泥波图像锐化拉首拉斯笙法:

三 ,

,......................................................,

文件屯)铜括包)查看包)点运笸 灰度变换几何变换宜方图中信泥被图像锐化拉普拉庙宜法r-···············:

拉普拉助模糊

拉普拉助模糊

杏除拉普拉斯梪糊

分别对“二维中值滤波”、“图像锐化”、“拉普拉斯模糊”和“去除拉普拉斯模糊”建立类向导,编写代码。

voidCZzyUiew::OnErweizhongzhi()//二维中值滤波

long 见h;

longi,j;W=lll_DibHead-)biWidth;h=lll_DibHead-biHeight;

unsigned char*f=newunsigned char[炉h];lllelllCP!J(f, lll_llllage,W*h);

int lll,n;lll=5;n=5;

int *a=new int[lll*n];int k,l;

for(i=O;ih;i++)

for(j=0;jw;j++)

{for(k=-lll/2;k(=lll/2;k++)for(l=-n/2;l=n/2;1++)

{a[k*n+l+lll*n/2]=f[(i+k)*W+j+l];

lllysort(a,lll*n);

*(lll_llllage+i*W+j)=a[lll*n/2];

delete []a;

Invalidate();

// TODO: Addyour COlllllland handler code here

五、程序代码

冒泡法算法的程序:

voidCZzyView::mysort(int*a,intn)//算法

{

inti,j,t;for(i=0;in;i++)for(j=0;jn-1-i;j++)

{

if(a[j]a[j+1])

{

t=a[j];a[j]=a[j+1];a[j+1]=t;

}

}

}

二维中值滤波的代码

voidCZzyView::OnErweizhongzhi()//二维中值滤波

{

longw,h;

longi,j;

w=m_DibHead-biWidth;h=m_DibHead-biHeight;

unsignedchar*f=newunsignedchar[w*h];memcpy(f,m_Image,w*h);

intm,n;m=5;n=5;

int*a=newint[m*n];intk,l;for(i=0;ih;i++)

for(j=0;jw;j++)

{for(k=-m/2;k=m/2;k++)for(l=-n/2;l=n/2;l++)

{a[k*n+l+m*n/2]=f[(i+k)*w+j+l];

}

mysort(a

显示全部
相似文档