- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基 于MATLAB图像 处理的课程设计
基 于MATLAB的图像 处理的课程设计
一、课程设计的目的:
综合运用MATLAB工具箱实现图像处理的GUI程序设计。
二、课程设计的基本要求
1)熟悉和掌握MATLAB 程序设计方法
2)掌握MATLAB GUI 程序设计
3)熟悉MATLAB图像处理工具箱
4)学会运用MATLAB工具箱对图像进行处理和分析
三、课程设计的内容
要求利用MATLAB GUI设计实现图像处理的图形用户界面,利用MATLAB图像处理工具箱实现以下的图像处理功能:
双击打开MATLAB 7.0→File→New→GUI→单击, 调整axes1大小→单击 OK,调整按钮大小和颜色,修改名称→再建axes2→单击OK,调整按钮大小和颜色,修改名称→保存→View→M-file Edit→写程序
1)图像的读取和保存。
在function open_Callback(hObject, eventdata, handles)后面输入如下程序
[name,path]=uigetfile(*.*,);
file=[path,name];
axes(handles.axes1);
x=imread(file); %读取图像
handles.img=x;
guidata(hObject, handles);
imshow(x); %显示图像
title(打开);
在function save_Callback(hObject, eventdata, handles)后面输入如下程序
[name,path]=uigetfile(*.*,);
file=[path,name];
axes(handles.axes1);
x=imread(file);
handles.img=x;
guidata(hObject, handles);
imshow(x);
imwrite(x,new.jpg); %保存图像
title(保存);
2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。
在function liangdu_Callback(hObject, eventdata, handles) 后面输入如下程序
axes(handles.axes2);
x=(handles.img);
y=imadjust(x,[0.15 0.9], [0 1]); %增亮图像
imshow(y);
title(亮度)
在function huidu_Callback(hObject, eventdata, handles) 后面输入如下程序
axes(handles.axes2);
x=rgb2gray(handles.img); %RGB图像转换为灰度图像
imshow(x);
title(灰度)
3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。
在function cut_Callback(hObject, eventdata, handles)后面输入如下程序
axes(handles.axes2);
x=imcrop(handles.img); %截图
imshow(x);
imwrite(x,cut.jpg); %保存图像
title(截图);
4)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的操作,并保存,比较几种插值的效果。
在function nearfangda_Callback(hObject, eventdata, handles) 后面输入如下程序
axes(handles.axes2);
x=imresize(handles.img,2,nearest); %最近邻插值法放大
imshow(x);
imwrite(x,nearfangda.jpg)
title(最近邻插值法放大);
在function nearsuoxiao_Callback(hObject, eventdata, handles) 后面输入如下程序
axes(handles.axes2);
x=imresize(handles.img,0.5,nearest); %最近邻插值法缩小
imshow(x);
imwrite(x,nearsuoxiao.jpg)
title(最近邻插值法缩小);
在function doublefangda_Callback(hObject, eventdata, handles) 后面输入如下程
文档评论(0)