基于matlab的HSV阴影消除代码,毕设所用,用完贡献先给代码后有说明functionvarargout=untitled111111(varargin)%UNTITLED111111M-fileforuntitled111111.fig%UNTITLED111111,byitself,createsanewUNTITLED111111orraisestheexisting%singleton*.%%H=UNTITLED111111returnsthehandletoanewUNTITLED111111orthehandleto%theexistingsingleton*.%%UNTITLED111111('CALLBACK',hObject,eventData,handles,...)callsthelocal%functionnamedCALLBACKinUNTITLED111111.Mwiththegiveninputarguments.%%UNTITLED111111('Property','Value',...)createsanewUNTITLED111111orraisesthe%existingsingleton*.Startingfromtheleft,propertyvaluepairsare%appliedtotheGUIbeforeuntitled111111_OpeningFcngetscalled.An%unrecognizedpropertynameorinvalidvaluemakespropertyapplication%stop.Allinputsarepassedtountitled111111_OpeningFcnviavarargin.%%*SeeGUIOptionsonGUIDE'sToolsmenu.Choose"GUIallowsonlyone%instancetorun(singleton)".%%Seealso:GUIDE,GUIDATA,GUIHANDLES%Edittheabovetexttomodifytheresponsetohelpuntitled111111%LastModifiedbyGUIDEv2.531-Mar-201409:39:29%Begininitializationcode-DONOTEDITgui_Singleton=1;gui_State=struct('gui_Name',mfilename,...'gui_Singleton',gui_Singleton,...'gui_OpeningFcn',@untitled111111_OpeningFcn,...'gui_OutputFcn',@untitled111111_OutputFcn,...'gui_LayoutFcn',[],...'gui_Callback',[]);ifnargin&&ischar(varargin{1})gui_State.gui_Callback=str2func(varargin{1});endifnargout[varargout{1:nargout}]=gui_mainfcn(gui_State,varargin{:});elsegui_mainfcn(gui_State,varargin{:});end%Endinitializationcode-DONOTEDIT%---Executesjustbeforeuntitled111111ismadevisible.functionuntitled111111_OpeningFcn(hObject,~,handles,varargin)%Thisfunctionhasnooutputargs,seeOutputFcn.%hObjecthandletofigure%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%varargincommandlineargumentstountitled111111(seeVARARGIN)%Choosedefaultcommandlineoutputforuntitled111111handles.output=hObject;%Updatehandlesstructureguidata(hObject,handles);%UIWAITmakesuntitled111111waitforuserresponse(seeUIRESUME)%uiwait(handles.figure1);%---Outputsfromthisfunctionarereturnedtothecommandline.functionvarargout=untitled111111_OutputFcn(~,~,handles)%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);%hObjecthandletofigure%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Getdefaultcommandlineoutputfromhandlesstructurevarargout{1}=handles.output;%---Executesonbuttonpressinpushbutton1.functionpushbutton1_Callback(~,~,~)handles=guihandles();globals;globale;globalfn;globalmov;fori=s:emov_gray(i).image=mov(i).cdata;%mov_gray(i).image为第i帧图像end[ih,iw,id]=size(mov_gray(1).image);%取得视频帧的大小%计算1到第n帧的各个像素的均值fori=s:eu=mov_gray(i).image;h=u(:)';%转置t(i,:)=h(:);%median(t)是对列进行取均值的end%close(figure(gcf))%%关闭初始化窗口%试试不用转置直接用u来进行median(t);tmp=median(t);%对t数组各列取均值globalmean;mean=reshape(tmp,ih,iw,id);%将n帧均值图像恢复成h*w*d的图像矩阵,得到背景subplot(2,2,1),imshow(uint8(mean));title('背景图像');%第一幅背景图%取第fn帧作为对象subplot(2,2,2),imshow(uint8(mov_gray(fn).image));title('目标图像');%第二幅完整图像globalok;ok=mean;%ok-背景%tmp(1:3)=0;di=15;th=ones(1,1,3)*di;%预设阀值diff=double(ok)-double(mov_gray(fn).image);%计算第fn帧图像与背景的差值diff1=abs(diff);count2=0;forai=1:ihforbi=1:iwifabs(diff(ai,bi,1:3))>=th(1,1,:)ok(ai,bi,1:3...