matlab能做什么课程设计,(终稿)【毕业设计论文】基于MATLAB的图像处理的课程设计.doc(最终版)最新版...

《【毕业设计】基于MATLAB的图像处理的课程设计.doc》由会员分享,可免费在线阅读全文,更多与《(终稿)【毕业设计论文】基于MATLAB的图像处理的课程设计.doc(最终版)》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。

1、

functionzeft_Callback(hObject,eventdata,

handles)

%左转度

axes(handlesaxes);

x=(handlesimg);

y=imrotate(x,);

imshow(y);

functionright_Callback(hObject,eventdata,

handles)

%右转度

axes(handlesaxes);

x=(handlesimg);

y=imrotate(x,);

imshow(y);

functionother_Callback(hObject,eventdata,

handles)

%任意角度旋转

axes(handlesaxes);

romt={'输入参数:'};

defans={''};

=inutdlg(romt,'输入参数',,defans);

=strnu

2、析

八、心得体会

九、参考文献

十、附录GSGFHHGFHDGHGFJHGJGHFJHFJGFHJFGJFJ

DJDGJJHFJGJHFJFHFGJDJSHDFGJFJHJFJFGJHFJFJGJDHJ

基于MATLAB的图像处理的课程设计

摘要:

数字图像处理技术是世纪年代发展起来的一门新兴学科,随着图像处

理理论和方法的进一步完善,使得数字图像处理技术在各个领域得到了广泛应

用,并显示出广阔的应用前景。MATLAB既是一种直观、高效的计算机语言,同

时又是一个科学计算平台。它为数据分析和数据可视化、算法和应用程序开发提

供了最核心的数学和高级图形工具。根据它提供的多个数学和工程函数,工

程技术人员和科学工作者可以在它的集成环境中交互或编程以完成各自的计算。

MATLAB中集成了功能强大的图像处理工具箱。由于MATLAB语言的语法特征

与C语言极为相似,而且更加简单,更加符合

3、科技人员对数学表达式的书写格

式,而且这种语言可移植性好、可扩展性强,再加上其中有丰富的图像处理函数,

所以MATLAB在图像处理的应用中具有很大的优势。

关键词:MATLAB,数字图像处理

一、课程设计目的

综合运用MATLAB工具箱实现图像处理的GUI程序设计。

二、课程设计要求

)熟悉和掌握MATLAB程序设计方法

)掌握MATLABGUI程序设计

)学习和熟悉MATLAB图像处理工具箱

)学会运用MATLAB工具箱对图像进行处理和分析

三、课程设计的内容

学习MATLABGUI程序设计,利用MATLAB图像处理工具箱,设计和实现自己的

Photosho。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设

计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。

以下几点是程序必须实现的功能。

)图像的读取和保存。

)设计图形用户界面,让

end

4、去噪并显示结果。比较去噪效果。

四、题目分析

信息化社会中,计算机在各种信息处理中发挥着重要的作用。我们可以借助计算机,

对数字图像进行处理,以达到不同的效果。根据题目的要求,除了实现要求的功能外,还有GSGFHHGFHDGHGFJHGJGHFJHFJGFHJFGJFJ

DJDGJJHFJGJHFJFHFGJDJSHDFGJFJHJFJFGJHFJFJGJDHJ

很多的功能需要用到。

()、将一个RGB图像转换为灰度图像。

()、可以对图像做各种变换,如旋转等。

()、有时并不需要图像显示其细节部分,只要其轮廓,这时候不要很高的灰度级。可以把

图像转换为二值图像,进行图像腐蚀,或是创建索引图像等。

()、分析一个图像的频谱特征,利用傅里叶变换,将图像从空间域变换到频域,然后进行

各种处理,经过高通滤波器或是低通滤波器。

()、为了科学地定量描述和使用颜色,人们提出了各种颜色模型,按

5、ventdata,

handles)

%B直方图

set(handlesaxes,'HandleVisibility','ON');

axes(handlesaxes);

ifisrgb(handlesimg)

x=imhist(handlesimg(:,:,));

%直方图统计

x=x(::);

horz=::;

bar(horz,x);

%axis([]);

set(handlesaxes,'xtick',::);

%set(handlesaxes,'ytick',::);

else

msgbox('这是灰度图像','旋转失败');

end

functionjunheng_Callback(hObject,eventdata,JFJHJFJFGJHFJFJGJDHJ

handlesnoise_img=y;

guidata(hObject,handles);

6、打开文件对话框,该对

话框自动列出当前路径下的目录和文件,由于这个GUI程序的操作对象是图像

文件,所以设置这里的缺省后缀名为“bm”。

Uigetfile函数的调用格式为[name,ath]=yigetfile(),在按下对话框中的执

行按钮“打开”后,返回选择的文件名和路径,分别保存到“name”和“ath”

中。如果按下取消按钮或是发生错误,则返回值是。根据返回值的情况,如

果是,则弹出提示错误的对话框,否则,通过imread函数读出图像数据,把图

像数据赋值给全局变量handlesimg。

、保存

同样也通过对话框的形式来保存图像数据,通过uigetfile函数选择文件名和

路径,用getimage(gca)取出坐标变换后的图像数据保存到变量i,最后用imwrite

函数,把数据i存到指定的文件。

、退出

退出比较简单,程序如下所示:

clc;

closeall;

7、t(handlesimg(:,:,));

%直方图统计

x=x(::);

horz=::;

bar(horz,x);

set(handlesaxes,'xtick',::);

functiongray_Callback(hObject,eventdata,

handles)

%G直方图

set(handlesaxes,'HandleVisibility','ON');

axes(handlesaxes);

ifisrgb(handlesimg)

x=imhist(handlesimg(:,:,));%直方图统计

x=x(::);

horz=::;

bar(horz,x);

set(handlesaxes,'xtick',::);

else

msgbox('这是灰度图像','旋转失败');

end

functionblue_Callback(hObject,e

8、完整的程序如下:

ifisrgb(handlesimg)

y=rgbgray(handlesimg);

imshow(y);

else

msgbox('这已经是灰度图像','转换失败');

endGSGFHHGFHDGHGFJHGJGHFJHFJGFHJFGJFJ

DJDGJJHFJGJHFJFHFGJDJSHDFGJ

handles)

%直方图均衡

set(handlesaxes,'HandleVisibility','ON');

axes(handlesaxes);

ifisrgb(handlesimg)

a=histeq(handlesimg(:,:,));

b=histeq(handlesimg(:,:,));GSGFHHGFHDGHGFJHGJGHFJHFJGFHJFGJFJ

DJDGJJHFJGJHFJFHFGJDJSHDFGJFJHJFJFGJHFJFJGJDHJ

9、用途可分为三类:计

算颜色模型,视觉颜色模型和工业颜色模型。有时为了不同的需要,要对颜色模型进行转换。

五、总体设计

由于要实现的功能并不是很多,所以在排版的过程中,把各个功能都安排

在目录栏上,整体安排如下图所示:

同时在调节亮度时,虽然可以同对话框的形式输入调节的比例系数,但是

这样效果不好了,不容易调节,因此这里考虑用滚动条来调节。因此,总体的

设计界面如下图所示:

GSGFHHGFHDGHGFJHGJGHFJHFJGFHJFGJFJ

DJDGJJHFJGJHFJFHFGJDJSHDFGJFJHJFJFGJHFJFJGJDHJ

六、具体设计

、文件

、打开

为了让使用者更方便的使用,所以在设计的时候,通过对话框的形式来选择

文件,选择uigetfile函数来实现,uigetfile函数显示一个

、创建索引图像

、颜色模型转换

、操作界面设计

七、程序调试及结果

10、close(gcf);

、编辑

、灰度

由于RGB图像是三维图像,所以图像数据是一个三维数组,为了显示灰度

图像,把三维图像降为二维,可以只取其中的二维数据,实现方法程序为:

y=(handlesimg(:,:,));%当然也可以选择(:,:,)或(:,:,)

imshow(y);

但是这样的话,根据程序所选的不同,图像数据也不同,显示也就不一样。

另一种方法就是,运用rgbgray函数实现彩色图像到灰度图像的转换。程序

为:

y=rgbgray(handlesimg);

imshow(y);

这个程序只能用于RGB图像转换灰度图像,当原始图像本来就是灰度图像

时,运行该程序时就会出错,但是使用者在使用时有时并不知道这些,为了使该

程序更加完善,应该在使用者原先图像时灰度图像时使用该功能时,应该要显示

提示类信息。所以在开始时应该要有一个RGB图像或是灰度图像的判断过程。

11、({});

y=imrotate(handlesimg,);

imshow(y);

functiongs_Callback(hObject,eventdata,

handles)

%加入高斯噪声

axes(handlesaxes);

romt={'输入参数:','输入参数'};

defans={'',''};

=inutdlg(romt,'输入参数',,defans);

=strnum({});

=strnum({});

y=imnoise(handlesimg,'gaussian',,);

imshow(y);GSGFHHGFHDGHGFJHGJGHFJHFJGFHJFGJFJ

DJDGJJHFJGJHFJFHFGJDJSHDFG

set(handlesaxes,'HandleVisibility','ON');

axes(handlesaxes);

x=imhis

12、

目录

一、课程设计目的

二、课程设计要求

三、课程设计的内容

四、题目分析

五、总体设计

六、具体设计

、文件

、打开

、保存

、退出

、编辑

、灰度

、亮度

、截图

、缩放

、旋转

、上下翻转

、左右翻转

任意角度翻转

、噪声

、滤波

、直方图统计

、频谱分析

、频谱图

、通过高通滤波器

、通过低通滤波器

、灰度图像处理

、二值图像用户能够对图像进行任意的亮度和对比度变化调整,显示和

对比变换前后的图像。

)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区

域。

)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和

缩小整数倍的操作,并保存,比较几种插值的效果。

)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。

)能对图像加入各种噪声,并通过几种滤波算法实现

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值