Matlab课程设计数据滤波程序_第1页
Matlab课程设计数据滤波程序_第2页
Matlab课程设计数据滤波程序_第3页
Matlab课程设计数据滤波程序_第4页
Matlab课程设计数据滤波程序_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Matlab综合课程设计报告设计题目:专业物联网工程班级学生指导教师刘庆2016年春季学期

一、总体设计程序的总体设计文件中its®均its®raSlTS®原图加噪图处理后原始数据欢迎使用原本函数处理结果二、功能实现1.(流程图)三、测试及调试(测试方案、存在的问题及解决方法)详细描述程序编写的步骤及编写过程中出现的问题;详细描述程序测试方案,采用的调试方法及调试手段;详细描述调试中出现的问题、对问题的分析及解决方法。四、总结包括但不限于以下内容:对Matlab知识的掌握程度;对程序设计方法(自顶向下、结构化设计)的体会和掌握程度;分析问题和解决问题的能力,并举例说明;建议与意见。附件:主要源程序代码(需打印)附件一:一维信号滤波高斯滤波:%高斯滤波的代码x=0:2047;a=load('data.txt');%运行时data.txt文件要放到当前目录(currentdirectory)中gau=[0.00090.01750.12950.35210.35210.12950.01750.0009];%标准差为1时的高斯函数一维模板,如果标准差不为1,则要修改模板y=conv(a,gau);y=y(1:length(y)-length(gau)+1);figure;subplot(1,2,1);plot(x,a);xlabel('高斯滤波前的序列');subplot(1,2,2);plot(x,y);xlabel('高斯滤波后的序列,);%高斯函数的一维模板可以由这个函数得到:fspecial('gaussian',[1n],sigma)%当标准差sigma是某一固定数字时,存在一个N,对于任意的n>=N,模板都一样中值滤波:functiony=yiweimid(x,N)[m,n]=size(x);xin=zeros(1,n);fori=1:1:n-Nq=median(x(1,i+N));xin(1,i+N)=q;endy=xin;End%中值滤波的代码:x=0:2047;a=load('data.txt');%运行时data.txt文件要放到当前目录(currentdirectory)中n=5;%n为模板长度,值可以改变y=medfilt1(a,n);figure;subplot(1,2,1);plot(x,a);xlabel('中值滤波前的序列');subplot(1,2,2);plot(x,y);xlabel('中值滤波后的序列,);均值滤波:functiony=yiweijun(x,N)[m,n]=size(x);xin=zeros(1,n);fori=1:1:n-Nq=sum(x(1,i+N))/(N+1);xin(1,i+N/2)=q;endy=xin;end%均值滤波的代码:x=0:2047;a=load('data.txt');%运行时data.txt文件要放到当前目录(currentdirectory)中n=5;%n为模板长度,值可以改变mean=ones(1,n)./n;%mean为1Xn的模板,各数组元素的值均为1/ny=conv(a,mean);y=y(1:length(y)-length(mean)+1);figure;subplot(1,2,1);plot(x,a);xlabel('均值滤波前的序列');subplot(1,2,2);plot(x,y);xlabel('均值滤波后的序列');附件二:二维信号滤波高斯滤波:functiond=gaussfilt(s)[row,col]=size(s);k=1;n=mean(mean(s));img=double(s);n1=floor((n+1)/2);%n2=floor((col+1)/2);fori=1:nforj=1:nb(i,j)=exp(-((i-n1)八2+(j-n1)八2)/(4*k))/(4火pi*k);endendimg1=conv2(img,b,'same');d=uint8(img1);end中值滤波:functiony=midfilter(x,n)[row,col]=size(x);x1=double(x);x2=x1;fori=1:row-n+1forj=1:row-n+1c=x1(i:i+(n-1),j:j+(n-1));e=c(1,:);foru=2:ne=[e,c(u,:)];endmm=median(e);x2(i+(n-1)/2,j+(n-1)/2)=mm;endendy=uint8(x2);end均值滤波:functiony=midjunzhi(x,n)[row,col]=size(x);x1=double(x);x2=x1;fori=1:row-n+1forj=1:row-n+1c=x1(i:i+(n-1),j:j+(n-1));e=c(1,:);foru=2:ne=[e,c(u,:)];endmm=sum(e)/(n*n);x2(i+(n-1)/2,j+(n-1)/2)=mm;endEnd附件三:二维信号滤波算法的改进中值滤波改进算法:functiony=midfiltergaijin(x,n)[row,col]=size(x);x1=double(x);x2=x1;fori=1:row-n+1forj=1:row-n+1c=x1(i:i+(n-1),j:j+(n-1));e=c(1,:);foru=2:ne=[e,c(u,:)];endif(x2(i+(n-1)/2,j+(n-1)/2)==max(e)||x2(i+(n-1)/2,j+(n-1)/2)==min(e))mm=median(e);x2(i+(n-1)/2,j+(n-1)/2)=mm;elsex2(i+(n-1)/2,j+(n-1)/2)=x2(i+(n-1)/2,j+(n-1)/2);endendy=uint8(x2);end均值滤波改进算法:functiony=midjunzhigaijin(x,n)%一种改进的均值滤波算法[row,col]=size(x);x1=double(x);x2=x1;fori=1:row-n+1forj=1:row-n+1c=x1(i:i+(n-1),j:j+(n-1));e=c(1,:);foru=2:ne=[e,c(u,:)];endif(x2(i+(n-1)/2,j+(n-1)/2)==max(e)||x2(i+(n-1)/2,j+(n-1)/2)==min(e))mm=sum(e)/(n*n);x2(i+(n-1)/2,j+(n-1)/2)=mm;

elsex2(i+(n-1)/2,j+(n-1)/2)=x2(i+(n-1)/2,j+(n-1)/2);endendendy=uint8(x2);Endgui界面程序:functionvarargout=untitled(varargin)gui_Singleton=functionvarargout=untitled(varargin)gui_Singleton=1;gui_State=struct('gui_Name','gui_Singleton','gui_OpeningFcn','gui_OutputFcn','gui_LayoutFcn','gui_Callback',ifnargin&&ischar(varargin{1})=str2func(varargin{1});mfilename,...gui_Singleton,...@untitled_OpeningFcn,.@untitled_OutputFcn,..[],...[]);gui_State.gui_Callbackend[varargout{1:nargout}]=gui_mainfcn(gui_State,varargin{:});elsegui_mainfcn(gui_State,varargin{:});end%Endinitializationcode-DONOTEDI%Executesjustbeforeuntitledismadevisible.functionuntitled_OpeningFcn(hObject,eventdata,handles,varargin)%Choosedefaultcommandlineoutputforuntitledhandles.output=hObject;%Updatehandlesstructureguidata(hObject,handles);%---Outputsfromthisfunctionarereturnedtothecommandline.functionvarargout=untitled_OutputFcn(hObject,eventdata,handles)%Getdefaultcommandlineoutputfromhandlesstructurevarargout{1}=handles.output;%Executesonbuttonpressintogglebutton1.functiontogglebutton1_Callback(hObject,eventdata,handles)%Executesonselectionchangeinpopupmenul.functionpopupmenu1_Callback(hObject,eventdata,handles)%Executesduringobjectcreation,aftersettingallproperties.functionpopupmenu1_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject'BackgroundColor','white');end%Executesonbuttonpressinradiobutton1.functionradiobutton1_Callback(hObject,eventdata,handles)functionUntitled_1_Callback(hObject,eventdata,handles)functionUntitled_2_Callback(hObject,eventdata,handles)functionUntitled_3_Callback(hObject,eventdata,handles)functionUntitled_6_Callback(hObject,eventdata,handles)functionUntitled_7_Callback(hObject,eventdata,handles)functionUntitled_10_Callback(hObject,eventdata,handles)globalyy;%str=get(hobject,'string');axes(handles.axes2);gyi1=gaosiyi(yy,3);imshow(gyi1);axes(handles.axes3);gyi2=medfilt2(yy);imshow(gyi2);functionUntitled_11_Callback(hObject,eventdata,handles)globaljiaoyan;%str=get(hobject,'string');axes(handles.axes2);gaosi1=gaussfilt(jiaoyan);imshow(gaosi1);axes(handles.axes3);[row,col]=size(jiaoyan);n=floor(mean(mean(jiaoyan)));gaosi22=fspecial('gaussian',3,1);gaosi2=filter2(gaosi22,jiaoyan)/255;imshow(gaosi2);functionUntitled_8_Callback(hObject,eventdata,handles)globalyy;%str=get(hobject,'string');axes(handles.axes2);junyil=yiweijun(yy,3);imshow(junyil);axes(handles.axes3);junyi2=medfilt2(yy);imshow(junyi2);functionUntitled_9_Callback(hObject,eventdata,handles)globalimg;globaljiaoyan;%str=get(hobject,'string');axes(handles.axes2);erjun1=midjunzhi(jiaoyan,3);imshow(erjun1);axes(handles.axes3);junmo=fspecial('average',3);erjun2=filter2(junmo,jiaoyan)/255;imshow(erjun2);functionUntitled_4_Callback(hObject,eventdata,handles)globalyy;%str=get(hobject,'string');axes(handles.axes2);midyi1=yiweimid(yy,3);imshow(midyi1);axes(handles.axes3);midyi2=medfilt2(yy);imshow(midyi2);functionUntitled_5_Callback(hObject,eventdata,handles)functionUntitled_12_Callback(hObject,eventdata,handles)globaljiaoyan;%str=get(hobject,'string');axes(handles.axes2);ermid1=midfilter(jiaoyan,3);imshow(ermid1);axes(handles.axes3);ermid2=medfilt2(jiaoyan);imshow(ermid2);functionUntitled_13_Callback(hObject,eventdata,handles)globalimg;[filename,pathname]=...uigetfile('*.jpg';'*.bmp';'*.gif'});str=[pathnamefilename];img=imread(str);axes(handles.axesl);imshow(img);functionUntitled_14_Callback(hObject,eventdata,handles)[FileNamepathname]=...uigetfile(('*.xlsx'});str=[FileNamepathname];data1=xlsread(str);set(handles.listbox1,'string',data1);handles.data=data;guidata(hobjects.handles);functionUntitled_15_Callback(hObject,eventdata,handles)clcclearall;close(gcf);functionfigure1_ResizeFcn(hObject,eventdata,handles)functionlistbox1_Callback(hObject,eventdata,handles)functionlistbox1_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject'BackgroundColor','white');endfunctionUntitled_16_Callback(hObject,eventdata,handles)functionUntitled_17_Callback(hObject,eventdata,handles)obedefinedinafutureversionofMATLABglobalimg;globalyy;axes(handles.axes5);dy=0.1火rand(size(img));yy=y+dy;plot(x,yy);functionUntitled_18_Callback(hObject,eventdata,handles)globalimg;globaljiaoyan;axes(handles.axes5);gaosi=imnoise(img,'gaussian',0.02);jiaoyan=gaosi;imshow(gaosi);functionUntitled_19_Callback(hObject,eventdata,handles)globalimg;globaljiaoyan;axes(handles.axes

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论