- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图像的平滑与锐化和拉普拉斯模糊数字图像处理
昆明理工大学(数字图像处理)实验报告
实验名称 图像的平滑与锐化和拉普拉斯模糊
实验时间 2013 年 4 月 15 日
专业班级 学 号 姓 名
成 绩 教师评语:
一、实验目的
1.掌握图像平滑与锐化的基本原理。用C++编程实现图像的平滑与锐化。
2.利用算法的调用来实现图像的平滑和锐化。
二、实验原理
1、二维中值滤波平滑:用中值算法把数字图像中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,把一个点的像素变得跟周围4个像素一样。
4、去除拉普拉斯模糊:将拉普拉斯模糊形式从原图像中去除。
三、实验内容
选择一种平滑方式对图像进行平滑操作。
选择一种锐化方法对图像进行锐化操作。
分析图像的平滑与锐化的作用是什么。
试分析各种方法的特点。
四、实验步骤
1.在之前实验的基础上对程序进行操作。
2.在ClassView中选择添加成员函数mysort
3.在FileView中找到建立的成员函数的函数名,编写代码。
在ResourcesView中的Menu选项中建立“中值滤波”、“图像锐化”和“拉普拉斯算法”三个子菜单。
在“中值滤波”的子菜单的下拉菜单中创建一个“二维中值滤波”的项,在“拉普拉斯算法”下拉菜单中建立“拉普拉斯模糊”和“去除拉普拉斯模糊”两个项。
分别对“二维中值滤波”、“图像锐化”、“拉普拉斯模糊”和“去除拉普拉斯模糊”建立类向导,编写代码。
五、程序代码
冒泡法算法的程序:
void CZzyView::mysort(int *a, int n)//算法
{
int i,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;
}
}
}
二维中值滤波的代码
void CZzyView::OnErweizhongzhi() //二维中值滤波
{
long w,h;
long i,j;
w=m_DibHead-biWidth;
h=m_DibHead-biHeight;
unsigned char *f=new unsigned char[w*h];
memcpy(f,m_Image,w*h);
int m,n;
m=5;n=5;
int *a=new int[m*n];
int k,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,m*n);
*(m_Image+i*w+j)=a[m*n/2];
}
delete []a;
Invalidate();
// TODO: Add your command handler code here
图像锐化的代码(梯度法)
void CZzyView::OnRuihua() //图像锐化
{
long w,h;
long i,j;
w=m_DibHead-biWidth;
h=m_DibHead-biHeight;
unsigned char *f=new unsigned char[w*h];
memcpy(f,m_Image,w*h);
for(i=0;ih;i++)
for(j=0;jw;j++)
{
m_Image[i*w+j]=3*(abs(f[i*w+j]-f[i*w+j+1])+abs(f[i*w+j]-f[(i+1)*w+j]));
}
Invalidate();// TODO: Add your command handler code here
}
拉普拉斯模糊的代码:
void CZzyView::OnLaplasmh() //拉普拉斯模糊
{
long w,h;
long i,j;
w=m_DibHead-biWidth;
h=m_DibHead-biHeight;
int *p1=new int [w*h];
int *p2=new int [w*h];
for(i=0;ih;i++)
for(j=0;jw;j++)
{
您可能关注的文档
最近下载
- 论 自由 精品读本.pdf
- 医疗器械质量管理体系文件.pptx
- 金融中心施工总承包工程项目特色与观摩亮点介绍.pptx
- 小学数学六年级上册期中易错题重难点试卷含详细答案解析1524.docx
- 做自己的心理医生【26页】.pptx
- Module 4 单元整体教学设计 外研版(三起)六年级上册英语.docx
- 环球金融中心项目专项测量放线施工方案.docx
- 环球金融中心项目施工总承包工程质量创优策划.ppt
- 鼎信JB-QT-TS3200火灾报警控制器(联动型)安装使用说明书 XF2.900.029AS Ver.pdf VIP
- 中华护理学会团体标准TCNAS 21─2021解读:胰岛素皮下注射(1).pptx
文档评论(0)