資源簡介
基于膚色的人臉檢測程序,件檢測結果進行顯示。

代碼片段和文件信息
function?varargout?=?facedetect(varargin)
gui_Singleton?=?1;
gui_State?=?struct(‘gui_Name‘???????mfilename?...
????‘gui_Singleton‘??gui_Singleton?...
????‘gui_OpeningFcn‘?@facedetect_OpeningFcn?...
????‘gui_OutputFcn‘??@facedetect_OutputFcn?...
????‘gui_LayoutFcn‘??[]??...
????‘gui_Callback‘???[]);
if?nargin?&&?ischar(varargin{1})
????gui_State.gui_Callback?=?str2func(varargin{1});
end
if?nargout
????[varargout{1:nargout}]?=?gui_mainfcn(gui_State?varargin{:});
else
????gui_mainfcn(gui_State?varargin{:});
end
%?---?Executes?just?before?facedetect?is?made?visible.
function?facedetect_OpeningFcn(hobject?eventdata?handles?varargin)
handles.output?=?hobject;
%?Update?handles?structure
global?vid;
vid=-1;
guidata(hobject?handles);
%?---?Outputs?from?this?function?are?returned?to?the?command?line.
function?varargout?=?facedetect_OutputFcn(hobject?eventdata?handles)
varargout{1}?=?handles.output;
%?---?Executes?during?object?creation?after?setting?all?properties.
function?axespreview_CreateFcn(hobject?eventdata?handles)
set(hobject‘xTick‘[]);
set(hobject‘ytick‘[]);
set(hobject‘box‘‘on‘);
%?---?Executes?during?object?creation?after?setting?all?properties.
function?axesshow_CreateFcn(hobject?eventdata?handles)
set(hobject‘xTick‘[]);
set(hobject‘ytick‘[]);
set(hobject‘box‘‘on‘);
%?---?Executes?on?button?press?in?pushbutton_preview.
function?pushbutton_preview_Callback(hobject?eventdata?handles)
global?vid;
vid=videoinput(‘winvideo‘1‘YUY2_640x480‘);
set(vid‘TriggerRepeat‘Inf);
set(vid‘framesPerTrigger‘10);
set(vid‘frameGrabInterval‘1);
set(vid‘ReturnedColorSpace‘‘rgb‘);?%‘rgb‘即返回為彩色的圖像
vidRes=get(vid‘VideoResolution‘);
nBands=get(vid‘NumberOfBands‘);
axes(handles.axespreview);
hImage=image(zeros(vidRes(2)vidRes(1)nBands));
preview(vidhImage);
%?---?Executes?on?button?press?in?pushbutton_facedetect.
function?pushbutton_facedetect_Callback(hobject?eventdata?handles)
global?vid?jieshu;
jieshu=1;
hvp=video.VideoPlayer(‘WindowCaption‘‘face?detect?system‘‘WindowPosition‘[100100640480]);
hcsc=video.ColorSpaceConverter;
hcsc.Conversion=‘RGB?to?YCbCr‘;
hsi=video.ShapeInserter(‘Shape‘‘Rectangles‘...
????‘BorderColor‘‘Custom‘...
????‘CustomBorderColor‘[0255?0]);
while?jieshu
????frame=getsnapshot(vid);
????frame1=im2double(frame);
????f=step(hcscframe);
????f_cb=f(::2);
????f_cr=f(::3);
????f=(f_cb>=100)?&?(f_cb<=130)?&?(f_cr>=140)?&(f_cr<=148);
????f=imfill(f‘holes‘);
????f=bwareaopen(f1000);
????[xy]=find(f);
????xmax=max(x);
????ymax=max(y);
????xmin=min(x);
????ymin=min(y);
???
????width=abs(ymax-ymin);
????height=abs(xmax-xmin);
????Pts=[round(ymin)?round(xmin)?round(width)?round(height)];
????frame=step(hsiframe1Pts);
????step(hvpframe);
end
close(hvp);
%?---?Executes?on?button?press?in?pushbutton_exit.
function?pushbutton_exit_Callback(hobject?eventdata?handles)
global?vid
if?vid?~=?-1
????delete(vid);
end;
clear;close?all
%?---?Executes?on?button?press?in?pushbutton_stopdetect.
f
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????68692??2014-04-30?14:29??facedetect1\L.jpg
?????文件????????7116??2014-04-29?19:41??facedetect1\facedetect.fig
?????文件????????3264??2014-05-13?10:53??facedetect1\facedetect.m
?????目錄???????????0??2014-05-13?10:54??facedetect1\
- 上一篇:詳解MATLAB 數字信號處理[張德豐][程序源代碼]
- 下一篇:回聲抵消器
評論
共有 條評論