matlab实验报告打印
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《 MATLAB 实践》
课程设计
学生姓名:张子康
学号:111100341
专业班级:信息通讯3班
指导教师:郑晓明
二○一四年六月二十五日
目录
1.设计目的 (3)
2.题目分析 (3)
3.总体设计 (3)
4.具体设计 (4)
5.结果分析 (13)
6.心得体会 (13)
1、设计目的
综合运用MATLAB工具箱实现图像处理的GUI程序设计。
2、题目分析
1.课程设计的基本要求
1)熟悉和掌握MATLAB 程序设计方法
2)掌握MATLAB GUI 程序设计
3)学习和熟悉MATLAB图像处理工具箱
4)学会运用MATLAB工具箱对图像进行处理和分析
2.课程设计的内容
学习MATLAB GUI程序设计,利用MATLAB图像处理工具箱,设计和实现自己的照片处理软件。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。
以下列出几点程序的功能,供参考:
1)图像的读取和保存。
2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。
3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。
4)通过最近邻插值和双线性插值等算法实现图像像素或尺寸的调整。
5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。
6)选作功能:①照片过渡曝光的自动调整;②照片的自动美容功能;③照片边框特效,并保存。
3、总体设计
这次的设计的功能按钮主要是一些图像处理的基本实现大多可以通过Matlab自带的一些现成函数来调用以实现,关键是要注意它的使用语法和支持的图像类型。
具体的菜单功能和面板设计如下图所示:
4、具体设计
4.1图像的读取和保存
1)利用matlab中“ uigetfile”、“imread”“imshow”实现图像文件的读取与显示:
function tuxianghuoqu_Callback(hObject, eventdata, handles)
% hObject handle to tuxianghuoqu (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
global im
global directoryname1
global files
global r
global str
[filename,pathname]=...
uigetfile({'*.jpg';'*.bmp';'*.gif'},'read');
str=[pathname filename];
directoryname1=pathname;
flies=dir(directoryname1);
im=imread(str);
r=im;
axes(handles.axes1);
imshow(im);
2)
利用“uiputfile”、“imwrite”函数实现图像文件的保存。
function baocun_Callback(hObject, eventdata, handles)
% hObject handle to baocun (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA) [filename,pathname]=uiputfile({'*.jpg'},'save image as');
file=[pathname filename];
axes(handles.axes2);
i=getimage(gca);
imwrite(i,file,'jpg');
4.2 对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。1)亮度调节
%亮度调节
function slider5_Callback(hObject, eventdata, handles)
% hObject handle to slider5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'Value') returns position of slider
% get(hObject,'Min') and get(hObject,'Max') to determine range of slider
% --- Executes during object creation, after setting all properties. global J
global im
str=get(handles.slider5,'value');
J=imadd(im,str);
axes(handles.axes2)