MATLAB课程实践题目.docx
《MATLAB课程实践题目.docx》由会员分享,可在线阅读,更多相关《MATLAB课程实践题目.docx(10页珍藏版)》请在冰豆网上搜索。
![MATLAB课程实践题目.docx](https://file1.bdocx.com/fileroot1/2022-10/27/0afad6ea-c33c-4492-b46c-7ac710afe756/0afad6ea-c33c-4492-b46c-7ac710afe7561.gif)
MATLAB课程实践题目
《MATLAB课程实践》
(在三组题目中任选一组)
题目1:
基于MATLAB的图像处理的课程设计
—制作自己的Photoshop
1课程设计的目的:
综合运用MATLAB工具箱实现图像处理的GUI程序设计。
2课程设计的基本要求
1)熟悉和掌握MATLAB程序设计方法
2)掌握MATLABGUI程序设计
3)学习和熟悉MATLAB图像处理工具箱
4)学会运用MATLAB工具箱对图像进行处理和分析
3课程设计的内容
学习MATLABGUI程序设计,利用MATLAB图像处理工具箱,设计和实现自己的Photoshop。
要求:
按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。
然后按照自己拟定的功能要求进行程序设计和调试。
以下列出几点程序的功能,供参考:
1)图像的读取和保存。
2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。
3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。
4)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的操作,并保存,比较几种插值的效果。
5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。
6)能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。
比较去噪效果。
4课程设计报告要求
完成课程设计任务后,应按要求提交课程设计报告。
设计报告应包含如下几个方面的内容。
①课程设计目的。
②课程设计要求。
③程序需求和功能模块分析。
④详细设计过程,详细阐述如何实现具体操作,必要时画出流程图分析,附上关键程序代码。
⑤调试和结果分析,贴图比较各图像处理的结果,分析。
⑥体会。
⑦附录(放源代码)和参考资料。
5参考书目:
1《MATLAB实用教程》郑阿奇电子工业出版社
2《数字图像处理MATLAB版》冈莎雷斯电子工业出版社
题目2:
基于MATLAB的数字信号处理的课程设计
1课程设计的目的
综合运用MATLAB工具箱实现信号处理的GUI程序设计。
2课程设计的基本要求
1)熟悉和掌握MATLAB程序设计方法
2)掌握MATLABGUI程序设计
3)学习和熟悉MATLAB信号处理工具箱
4)学会运用MATLAB工具箱对信号进行处理和分析
3课程设计的内容
要求利用MATLABGUI设计实现信号处理的图形用户界面,利用MATLAB信号处理工具箱实现ECG信号的分析。
要求:
按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。
然后按照自己拟定的功能要求进行程序设计和调试。
以下列出几点是程序功能,供参考。
1)ECG信号的读取和显示
2)ECG信号的频谱分析
3)ECG信号的功率谱分析
4)ECG信号基线漂移的中值滤除
5)ECG信号的滤波器选择和滤波
4课程设计报告要求
完成课程设计任务后,应按要求提交课程设计报告。
设计报告应包含如下几个方面的内容。
①课程设计目的。
②课程设计要求。
③程序需求和功能模块分析。
④详细设计过程,详细阐述算法实现说明,画出流程图分析,并附上关键程序代码。
⑤调试和结果分析,贴图比较各图像处理的结果,分析。
⑥体会。
⑦附录(放源代码)和参考资料。
5参考书目:
1《MATLAB实用教程》郑阿奇电子工业出版社
2《生物医学信号处理》刘海龙化学工业出版社
3《应用MATLAB实现信号分析和处理》张明照等科学出版社
题目3:
基于MATLABGUI的成绩管理系统
1课程设计的目的:
运用MATLAB实现MATLAB的GUI程序设计。
2课程设计的基本要求
1)熟悉和掌握MATLAB程序设计方法。
2)掌握MATLABGUI程序设计。
3)掌握MATLAB文件读写方法。
3课程设计的内容
学习MATLABGUI程序设计,设计和实现一个成绩管理系统。
要求:
按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。
然后按照自己拟定的功能要求进行程序设计和调试。
以下几点是程序的功能,供参考。
1)成绩的录入和保存
2)成绩的多种查询方法(如按照学号,姓名,科目等)
3)成绩统计和排序。
4课程设计报告要求
完成课程设计任务后,应按要求提交课程设计报告。
设计报告应包含如下几个方面的内容。
①课程设计目的。
②课程设计要求。
③程序需求和功能模块分析。
详细阐述数据结构。
④详细设计过程,详细阐述如何实现具体操作,必要时画出流程图分析,附上关键程序代码。
⑤调试和结果分析,贴图比较各图像处理的结果,分析。
⑥体会。
⑦附录(放源代码)和参考资料。
5参考书目:
1《MATLAB实用教程》郑阿奇电子工业出版社
基于MATLAB的图像处理的课程设计
一、课程设计的目的:
综合运用MATLAB工具箱实现图像处理的GUI程序设计。
二、课程设计的基本要求
1)认识和把握MATLAB程序设计方法
2)把握MATLABGUI程序设计
3)认识MATLAB图像处理工具箱
4)学会运用MATLAB工具箱对图像进行处理和分析
三、课程设计的内容
要求利用MATLABGUI设计实现图像处理的图形用户界面,利用MATLAB图像处理工具箱实现以下的图像处理功能:
双击打开MATLAB7.0→File→New→GUI→单击,调整axes1大小→单击OK,调整按钮大小和颜色,修改名称→再建axes2→单击OK,调整按钮大小和颜色,修改名称→保存→View→M-fileEdit→写程序
1)图像的读取和保存。
在functionopen_Callback(hobjecteventdatahandles)后面输入如下程序
[namepath]=uigetfile('*.*''');
file=[pathname];
axes(handles.axes1);
x=imread(file);%读取图像
handles.img=x;
guidata(hobjecthandles);
imshow(x);%显示图像
title('210593225打开');
在functionsave_Callback(hobjecteventdatahandles)后面输入如下程序
[namepath]=uigetfile('*.*''');
file=[pathname];
axes(handles.axes1);
x=imread(file);
handles.img=x;
guidata(hobjecthandles);
imshow(x);
imwrite(x'new.jpg');%保存图像
title('210593225保存');
2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。
在functionliangdu_Callback(hobjecteventdatahandles)后面输入如下程序
axes(handles.axes2);
x=(handles.img);
y=imadjust(x[0.150.9][01]);%增亮图像
imshow(y);
title('210593225亮度')
在functionhuidu_Callback(hobjecteventdatahandles)后面输入如下程序
axes(handles.axes2);
x=rgb2gray(handles.img);%RGB图像转换为灰度图像
imshow(x);
title('210593225灰度')
3)设计图形用户界面,让用户能够用鼠标选取图像感爱好区域,显示和保存该选择区域。
在functioncut_Callback(hobjecteventdatahandles)后面输入如下程序
axes(handles.axes2);
x=imcrop(handles.img);%截图
imshow(x);
imwrite(x'cut.jpg');%保存图像
title('210593225截图');
4)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的操作,并保存,比较几种插值的效果。
在functionnearfangda_Callback(hobjecteventdatahandles)后面输入如下程序
axes(handles.axes2);
x=imresize(handles.img2'nearest');%最近邻插值法放大
imshow(x);
imwrite(x'nearfangda.jpg')
title('210593225最近邻插值法放大');
在functionnearsuoxiao_Callback(hobjecteventdatahandles)后面输入如下程序
axes(handles.axes2);
x=imresize(handles.img0.5'nearest');%最近邻插值法缩小
imshow(x);
imwrite(x'nearsuoxiao.jpg')
title('210593225最近邻插值法缩小');
在functiondoublefangda_Callback(hobjecteventdatahandles)后面输入如下程序
axes(handles.axes2);
x=imresize(handles.img5'bilinear');%双线性插值法放大图像
imshow(x);
imwrite(x'doublefangda.jpg');
title('210593225双线性插值法放大');
在functiondoublesuoxiao_Callback(hobjecteventdatahandles)后面输入如下程序
axes(handles.axes2);
x=imresize(handles.img0.5'bilinear');%双线性插值法缩小图像
imshow(x);
imwrite(x'doublesuoxiao.jpg');
title('210593225双线性插值法缩小');
5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。
在functionzhifangtu_Callback(hobjecteventdatahandles)后面输入如下程序
set(handles.axes2'HandleVisibility''ON');
axes(handles.axes2);
x=imhist(handles.img);%直方图统计
x1=x(1:
10:
256);
horz=1:
10:
256;
bar(horzx1);
%axis([02550150000]);
set(handles.axes2'xtick'0:
50:
255);
%set(handles.axes2'ytick'0:
2000:
15000);
set(handles.axes2'HandleVisibility''OFF');
在functionjunheng_Callback(hobjecteventdatahandles)后面输入如下程序
set(handles.axes2'Hand