编写MATLAB函数实现灰度调整,对比度增强,直方图均衡,局部平滑,中值滤波,频.docVIP

编写MATLAB函数实现灰度调整,对比度增强,直方图均衡,局部平滑,中值滤波,频.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
长 安 大 学 兴 华 学 院 学 生 实 验 报 告 书 实验课程名称 图像处理 学 生 姓 名 田 敏 专 业 班级 电 子 信 息 工 程 学 号 6 1 0 9 0 8 0 2 0 7 实验课程名称:图像处理 实验项目名称:编写MATLAB函数实现灰度调整,对比度增强,直方图均衡,局部平滑,中值滤波,频率域平滑与锐化 实验分析与设计 实验内容描述 实验要求: 用MATLAB工具箱演示灰度调整,对比度增强,直方图均衡,局部平滑,中值滤波,频率域平滑与锐化,用MATLAB编写有关程序。 实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述) 实验原理: 利用函数imadjust调解图像灰度范围,观察变换后的图像及其直方图的变化。 如何进行直方图均衡化,关键是找到其转换函数g(x,y)=T[f(x,y)] 。由课本的证明得知转换函数就是其直方图的积分,离散数据则为累计积分。 用 h=fspecial(‘average’) 得到的h 为3×3的邻域平均模板,然后用h来对图象进行平滑处理。改变 fspecial( )的参数为高斯低通模板fspecial(‘gaussian’),再以上同样的平滑处理 中值(median)滤波器是非线性滤波器的一种,可消除图像中孤立的噪声点,又可产生较少的模糊,它工作原理如下: a.将模板在图中漫游,并将模板中心与图中某个象素位置重合; b.读取模板下各对应象素的灰度值; c.将这些灰度值从小到大排成一列; d.找出这些值中排在中间的1个; e.将这个中间值赋给对应模板中心位置的象素。 线性锐化滤波器的模板为h=[ -1 -1 -1; -1 8 -1;-1 -1 -1;],用该模板可以对图象进行锐化处理;也可以fspecial(laplacian) 函数得到锐化模板; 三、主要仪器设备及耗材 个人计算机 Matlab 实验调试与结果分析 调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等) (1)灰度调整和对比度增强:从文件中载入图像lena_adjust.bmp,在图像窗口中显示图像,编写函数,并且改变参数,最终显示直方图, 理解函数adjust的用法,把下列命令输入M文件以便调试 clear x=imread(lena_adjust.bmp) figure subplot(2,2,1) imshow(x) subplot(2,2,2) imhist(x) subplot(2,2,3) y=imadjust(x,[],[0.4 0.6]) imshow(y) subplot(2,2,4) imhist(y) 显示图像为: 改变imadjust的参数,观察其结果如:imadjust(x,[0.5 0.8],[],0.5) 显示图像为: 考虑问题,有一幅256阶的灰度图desert.bmp,我们想把它进行二值化,那就要选择阈值,一般选择中间值。但是有些图象偏黑或偏白,那就应该观察它的直方图来决定阈值。 x=imread(gray1.bmp); figure subplot(2,2,1) imhist(x); y=imhist(x); subplot(2,2,2) subimage(x) subplot(2,2,3) subimage(x200) subplot(2,2,4) w=im2bw(x); % im2bw为MATLAB把图象转化为二值图象的函数 subimage(w) (2)直方图均衡化 代码: clear all x=imread(lena_adjust.bmp); subplot(2,2,1); imshow(x); subplot(2,2,2); imhist(y) subplot(2,2,3); y=cumtrapz(imhist(x)); %累计积分,即直方图的均衡化转换函数 plot(y); % 利用y 进行映射得到?新的图象g(x,y) 代码:clear all x=imread(lena_adjust.bmp); subplot(2,2,1); imshow(x); subplot(2,2,2); imhist(y) subplot(2,2,3); y=cumtrapz(imhist(x)); %累计积分,即直方图的均衡化转换函数 plot(y); % J=histeq(x); imshow(J); subplot(2,2,4) imhist(J) 显示图像为: (3)中值滤波: 先用 imnoise( )函

文档评论(0)

zhuliyan1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档