matlab界面编程实现灰度变换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图形图像处理课程
大作业
姓名:
班级:
学号:
目录
界面编程实现图像灰度变换 (1)
摘要 (2)
正文 (3)
1.MATLAB界面编程简介: (3)
2.图像的灰度变换简介 (3)
3.采用MATLAB Guide设计界面 (4)
3.1 问题分析: (4)
3.2实验方法: (4)
3.3实验结果: (5)
4. 线性变换的算法设计与实现: (5)
4.1问题分析: (5)
4.2实验方法: (5)
4.3实验结果: (6)
5. 对数变换的算法设计与实现 (8)
5.1问题分析: (8)
5.2实验方法: (8)
5.3实验结果: (8)
6. 幂律变换的算法设计与实现: (10)
6.1问题分析: (10)
6.2实验方法: (10)
6.3实验结果: (11)
实验心得 (13)
附录 (13)
1.参考文献: (13)
2.源代码: (13)
界面编程实现图像灰度变换
问题描述:本课题主要解决的问题是通过MATLAB界面编程实现图像的灰度变换,包括线性灰度变换、对数灰度变换、幂律灰度变换,以此来实现图像增强,使图像更适合于进一步的分析和对它内容的提取。实现界面编程可以更方便的对图片进行操作,例如可以打开任意一张需要处理的图片,可以使图像处理结果更直观,对比更明显,更利于进行观察,同时可以实现保存处理后的图片,这样,图像的操作更简洁、直接。
摘要
本次报告旨在完成以下几个任务:
1、MATLAB界面编程简介;
2、图像的灰度变换简介;
3、采用MATLAB Guide设计界面,设计实现下列功能的按钮:可以读入并显示任意一张图像,可以实现图像灰度变换(线性变换、对数变换和幂律变换),可以保存处理后的图片,可以退出程序,点击相应的按钮可以实现相应的功能;
4、线性变换的算法设计与实现;
5、对数变换的算法设计与实现;
6、幂律变换的算法设计与实现。
结果如正文所示。
正文
1.MATLAB界面编程简介:
图形用户界面是由窗口、光标、按键、菜单、文字说明等对象构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,如实现计算、绘图等。若想制作一个可供反复使用且操作简单的专用工具,则图形用户界面是非常好的选择之一。MATLAB中的GUIDE 提供了多种设计GUI模板,并自动生成M文件框架,用户可以在该框架内写自己的函数代码,实现所需要的功能。
2.图像的灰度变换简介
图像的灰度变换处理是图像增强处理技术中一种非常基础、直接的空间域图像处理法,也是图像数字化软件和图像显示软件的一个重要组成部分。灰度变换是指根据某种目标条件按一定变换关系逐点改变原图像中每一个像素灰度值的方法。目的是为了改善画质,使图像的显示效果更加清晰。有选择的突出图像中感兴趣的特征或者抑制图像中某些不需要的特征,使图像与视觉响应特征相匹配。
灰度变换是基于点操作的增强方法,它将每一个像素的灰度值按照一定的数学变换公式转换为一个新的灰度值,如增强处理中的对比度增强。对比度增强可以采用线性拉伸和非线性拉伸。线性拉伸可以将原始输入图像中的灰度值不加区别地扩展。如果要求对局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理时,采用分段线性拉伸。非线性拉伸常采用对数扩展和指数扩展。对数扩展拉伸低亮度去,压缩高亮度区;指数扩展拉伸了高亮区,压缩了低亮度区。
3.采用MATLAB Guid e设计界面
3.1 问题分析:
采用MATLAB Guide设计界面,设计实现下列功能的按钮:
可以读入并显示任意一张图像;
可以实现图像灰度变换(线性变换、对数变换和幂律变换);
可以保存处理后的图片;
可以退出程序;
点击相应的按钮可以实现相应的功能。
3.2实验方法:
因为需要进行图形用户界面设计,所以先学习了MATLAB中GUIDE界面编程环境,熟悉界面设计的方法后,设计了需要的界面。
(1)在MATLAB命令窗口中输入“guide”,进入GUI窗口,选择Create New GUI,选择Black GUI。
(2)在界面中添加两个axes,一个用于显示原图,一个用于显示处理后的图像,并设置每个axes的Tag值。
(3)添加3个button,分别为打开图片、保存图片和退出程序,并为每个button设置Tag值。
(4)添加4个Panel,分别为灰度变换、线性变换、对数变换和幂律变换,灰度变换Panel包含其他3个Panel。
(5)在线性变换Panel、对数变换Panel和幂律变换Panel中分别添加3个Pop-up Menu,设置每个Pop-up Menu的可选项,并为每个Pop-up
Menu设置Tag值。
(6)在对数变换Panel和幂律变换Panel中分别添加Static Text 输入参数、Edit Text和Button 进行变换,并为每个Edit Text和Button
设置Tag值。
界面设计结果如图3-1:
图3-1 程序主界面
4. 线性变换的算法设计与实现:
4.1问题分析:
通过选择图片按钮,可以选择打开并显示任意一张需要处理的图片。本课题中,线性变换包括两种,恒等变换和求反变换。生成一个恒等变换函数,然后对图像使用变换函数以观察恒等函数是如何工作的;使用imcomplement函数对图像进行求补变换。
4.2实验方法:
线性变换包括恒等变换和求反变换。选择恒等变换,生成一个恒等变换函数x,然后对loadImage使用此函数进行变换,得到结果图像resultImage,并显示在界面中。选择求反变换,则使用imcomplement函数对loadImage进行求补变换,得到结果图像resultImage,并显示在界面中。详细方法见源代码。