资源描述:
《《matlab应用》课程设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《MATLAB应用》课程设计一、课程设计的目的综合运用MATLAB工具箱实现图像处理的GUI程序设计。二、课程设计的基本要求1)熟悉和掌握MATLAB程序设计方法2)掌握MATLABGUI程序设计3)熟悉MATLAB图像处理工具箱4)学会运用MATLAB工具箱对图像进行处理和分析三、课程设计的内容要求利用MATLABGUI设计实现图像处理的图形用户界面,利用MATLAB图像处理工具箱实现以下的图像处理功能:双击打开MATLAB7.0——File——New——GUI——单击axes1按钮——调整axes1大小——单击OK按钮——调整按钮大
2、小和颜色,修改名称。1)图像的读取和保存。在functionopen_Callback(hObject,eventdata,handles)后面输入如下程序:[name,path]=uigetfile('*.*');file=[path,name];%axes(handles.axesl);x=imread(file);%读取图像handles.img=x;guidata(hObject,handles);imshow(x);%显示图像title('打开');在functionsave_Callback(hObject,eventdat
3、a,handles)后面输入如下程序[name,path]=uigetfile('*.*','');file=[path,name];x=imread(file);handles.img=x;guidata(hObject,handles);imshow(x);imwrite(x,'new.jpg');%保存图像title('保存');1)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。在functionliangdu_Callback(hObject,eventdata,handles)后面
4、输入如下程序x=(handles.img);y=imadjust(x,[0.150.9],[01]);%增亮图像imshow(y);title('亮度')在functionpushbutton4_Callback(hObject,eventdata,handles)后面输入如下程序x=rgb2gray(handles.img);%RGB图像转换为灰度图像imshow(x);title('huidu')2)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。在functionjietu_Callback(hObje
5、ct,eventdata,handles)后面输入如下程序x=imcrop(handles.img);%截图imshow(x);imwrite(x,'cut.jpg');%保存图像title('jietu');3)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的操作,并保存,比较几种插值的效果。在functionnearfangda_Callback(hObject,eventdata,handles)后面输入如下程序x=imresize(handles.img,2,'nearest');%最近邻插值
6、法放大imshow(x);imwrite(x,'nearfangda.jpg');title('最近邻插值法放大');在functionnearsuoxiao_Callback(hObject,eventdata,handles)后面输入如下程序x=imresize(handles.img,0.5,'nearest');%最近邻插值法缩小imshow(x);imwrite(x,'nearsuoxiao.jpg');title('最近邻插值法缩小');在functiondoublefangda_Callback(hObject,event
7、data,handles)后面输入如下程序x=imresize(handles.img,5,'bilinear');%双线性插值法放大图像imshow(x);imwrite(x,'doublefangda.jpg');title('双线性插值法放大');在functiondoublesuoxiao_Callback(hObject,eventdata,handles)后面输入如下程序x=imresize(handles.img,0.5,'bilinear');%双线性插值法放大图像imshow(x);imwrite(x,doublesu
8、oxiao.jpg');title('双线性插值法缩小');1)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。functionzhifangtu_Callback(hObject,