您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 图像处理课程设计报告
摘要:MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。数字图像处理(DigitalImageProcessing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展(特别是离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的增长。关键词:MATLAB,数字图像处理一.课程设计目的1、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。2、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计二.课程设计的内容MATLABGUI程序设计,利用MATLAB图像处理工具箱。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。以下几点是程序实现的功能。1)能对图像文件(bmp、jpg、tiff、gif等)进行打开、保存、另存、打印、退出等功能操作。(2)能对图像进行直方图统计,包括R直方图,直方图统计,直放图均衡,周长和面积计算,区域图面积统计。(3)能对图像进行图像变化处理,包括小波变换,傅里叶变换,快速傅里叶变化,快速逆变换,傅里叶逆变换,离散余弦变换。(4)能对图像进行滤波处理,包括低通滤波,平滑滤波,自适应滤波。(5)能对图像进行频域增强处理,包括同态滤波,高频锐化。(6)能对图像进行噪声添加处理,包括椒盐噪声,加性噪声,高斯噪声。(7)能对图像进行图像滤波器处理,包括高通滤波器,低通滤波器。三、总体方案设计通过MATLAB的GUI设计界面,实现打开,保存,退出,打印功能,设计对比示区,功能按钮,实现各种图形处理的基本功能。四、各个功能模块的主要实现程序在gui界面上创建一系列的按钮以实现各种功能。其实现语句如下:打开程序:functionOPEN_Callback(hObject,eventdata,handles)%hObjecthandletoOPEN(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)[name,path]=uigetfile({'*.jpg';'*.bmp';'*.gif';'*.tif'},'ÔØÈëͼÏñ');ifisequal(name,0)isequal(path,0)errordlg('ûÓÐÑ¡ÖÐÎļþ','³ö´í');returnelsex=imread([path,name]);axes(handles.axes1);imshow(x);handles.img=x;handles.noise_img=x;guidata(hObject,handles)end保存程序:functionsave_Callback(hObject,eventdata,handles)%hObjecthandletosave(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)[filename,pathname]=uiputfile({'*.jpg';'*.bmp';'*.gif';'*.tif'},'ͼƬ±£´æΪ');ifisequal([filename,pathname],[0,0])errordlg('ûÓб£´æ','³ö´í');return;elsefile=strcat(pathname,filename);(handles.axes1);i=getimage(gca);imwrite(i,file);打印程序:functiondayin_Callback(hObject,eventdata,handles)%hObjecthandletodayin(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)printpreviewprintpreview(f)退出程序:functiontuichu_Callback(hObject,eventdata,handles)%hObjecthandletotuichu(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%hObjecthandletoquit(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)button=questdlg('ÄúÈ·¶¨ÒªÍ˳ö±¾³ÌÐòÂð£¿','È·¶¨²Ù×÷');switchbuttoncase'Yes'close(gcf);case'No'end;然后制作axes1并建立面板,修改颜色和名称,即界面中的function,再在面板上添加按钮1.R直方图按钮程序:functionRZHIFANGTU_Callback(hObject,eventdata,handles)%hObjecthandletoRZHIFANGTU(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)set(handles.axes1,'HandleVisibility','ON');axes(handles.axes1);x=imhist(handles.img(:,:,1));%Ö±·½Í¼Í³¼Æx1=x(1:10:256);horz=1:10:256;bar(horz,x1);set(handles.axes1,'xtick',0:50:255);2.直方图统计按钮:functionzhifangtutongji_Callback(hObject,eventdata,handles)%hObjecthandletozhifangtutongji(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)set(handles.axes1,'HandleVisibility','ON');axes(handles.axes1);x=imhist(handles.img(:,:,1));%Ö±·½Í¼Í³¼Æx1=x(1:10:256);horz=1:10:256;bar(horz,x1);axes(handles.axes1);set(handles.axes1,'xtick',0:50:255);%hObjecthandletotongji(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%---Executesonbuttonpressinzhifangtujunheng.3.直方图统计按钮程序:functionzhifangtujunheng_Callback(hObject,eventdata,handles)%hObjecthandletozhifangtujunheng(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)set(handles.axes1,'HandleVisibility','ON');axes(handles.axes1);ifisrgb(handles.img)a=histeq(handles.img(:,:,1));b=histeq(handles.img(:,:,2));c=histeq(handles.img(:,:,3));k(:,:,1)=a;k(:,:,2)=b;k(:,:,3)=c;axes(handles.axes1);imshow(k);elseh=histeq(handles.img);axes(handles.axes1);%Ö±·½Í¼¾ùºâimshow(h);end%hObjecthandletojunheng(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%---Executesonbuttonpressinmianjijisuan.4.周长和面积计算程序:functionmianjijisuan_Callback(hObject,eventdata,handles)%hObjecthandletomianjijisuan(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)axes(handles.axes1);y=handles.img;k=rgb2gray(y);BW=im2bw(k);%ת»¯Îª¶þֵͼÏñ[L,N]=bwlabel(BW,4);%±ê×¢¶þ½øÖÆͼÏñÖÐÒÑÁ¬½ÓµÄ²¿·ÖX=1;%ĬÈÏͼÏñÖÐÖ»ÓÐÒ»¸öÁ¬Í¬ÇøÓò.[ij]=find(L==X);%½«±ê×¢µÄÇøÓò·Åµ½Ò»¸öÊý×éÖÐ.bwi=bwselect(L,i,j,4);p=bwperim(bwi);perm=sum(sum(p));%Öܳ¤.area=size(i);%Ãæ»ý.±ê×¢ÇøÓòÏñËصãÊý¾ÍΪÎïÌåÃæ»ý.imshow(BW);pa=['ͼÏñÃæ»ýΪ:'num2str(area)'ÏñËصã'];pp=['ͼÏñÖܳ¤Îª:'num2str(perm)'ÏñËØ'];xxx=[pa,pp];title(xxx);%hObjecthandletozhouchanghemianji(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA%---Executesonbuttonpressinpushbutton8.5.区域图面积程序functionquyumianji_Callback(hOb
本文标题:图像处理课程设计报告
链接地址:https://www.777doc.com/doc-4070228 .html