📄 test1.asv
字号:
y=coord(1,1);x=coord(1,2);load nosestmp = reshape(im(y:y+17,x:x+12),234,1);tmp = histeq(tmp,255);labels=[labels 2];samples=[samples tmp];save noses labels samples%if (mod(size(samples,2),20)==0)load EC[NC.alpha, NC.sv, NC.b, NC.params, NC.n]=osuSVMTrain(samples,labels, NC.params,2);save EC EC NC MC NBC[nosey,nosex]=locate(im,1);%sprintf('righteye position is: %d %d',righteyey,righteyex);if (nosey~=0) shownose(handles,nosex,nosey);endcoord(1,1)=nosey;coord(1,2)=nosex;%end;% --------------------------------------------------------------------function varargout = uNose_Callback(h, eventdata, handles, varargin)global coord;y=coord(1,1);x=coord(1,2);if y == 1 disp('cant go up');else y=y-1; shownose(handles,x,y); coord(1,1)=y;end% --------------------------------------------------------------------function varargout = dNose_Callback(h, eventdata, handles, varargin)global im;global coord;y=coord(1,1);x=coord(1,2);if y == size(im,1)-13 disp('cant go down');else y=y+1; coord(1,1)=y; shownose(handles,x,y);end% --------------------------------------------------------------------function varargout = rNose_Callback(h, eventdata, handles, varargin)global im;global coord;y=coord(1,1);x=coord(1,2);if x == size(im,2)-18 disp('cant go right');else x=x+1; coord(1,2)=x; shownose(handles,x,y);end% --------------------------------------------------------------------function varargout = lNose_Callback(h, eventdata, handles, varargin)global im;global coord;y=coord(1,1);x=coord(1,2);if x == 1 disp('cant go left');else x=x-1; coord(1,2)=x; shownose(handles,x,y)end% --------------------------------------------------------------------function showmouth(handles,x,y)global im;axes(handles.xmouth);mouth = histeq(im(y:y+12,x:x+26),255); imshow(mouth); load EC; [l,sc] = osuSVMclass(reshape(mouth,13*27,1),MC.n, MC.alpha, MC.sv,MC.b, MC.params); scoretext=sprintf('(%d,%d) %.2f',y,x,sc); set(handles.MouthScore,'string',scoretext);% --------------------------------------------------------------------function varargout = uMouth_Callback(h, eventdata, handles, varargin)global im;global coord;y=coord(2,1);x=coord(2,2);if y == 1 disp('cant go up');else y=y-1; coord(2,1)=y; showmouth(handles,x,y);end% --------------------------------------------------------------------function varargout = dMouth_Callback(h, eventdata, handles, varargin)global im;global coord;y=coord(2,1);x=coord(2,2);if y == size(im,1)-13 disp('cant go down');else y=y+1; coord(2,1)=y; showmouth(handles,x,y);end% --------------------------------------------------------------------function varargout = rMouth_Callback(h, eventdata, handles, varargin)global im;global coord;y=coord(2,1);x=coord(2,2);if x == size(im,2)-27 disp('cant go right');else x=x+1; coord(2,2)=x; showmouth(handles,x,y);end% --------------------------------------------------------------------function varargout = lMouth_Callback(h, eventdata, handles, varargin)global im;global coord;y=coord(2,1);x=coord(2,2);if x == 1 disp('cant go left');else x=x-1; coord(2,2)=x; showmouth(handles,x,y);end% --------------------------------------------------------------------function varargout = trainNotMouth_Callback(h, eventdata, handles, varargin)global im;global coord;y=coord(2,1);x=coord(2,2);load mouths;tmp = reshape(im(y:y+12,x:x+26),351,1);tmp = histeq(tmp,255);labels=[labels 2];samples=[samples tmp];save mouths labels samples%if (mod(size(samples,2),20)==0)load ECdisp('training...');[MC.alpha, MC.sv, MC.b, MC.params, MC.n]=osuSVMTrain(samples,labels, MC.params);save EC EC NC MC NBC[mouthy,mouthx]=locate(im,2);coord(2,1)=mouthy;coord(2,2)=mouthx;showmouth(handles,mouthx,mouthy);%end;% --------------------------------------------------------------------function varargout = shownb(handles,x,y)global im; axes(handles.xnb); nb = histeq(im(y:y+13,x:x+15),255); imshow(nb); load EC; [l,sc] = osuSVMclass(reshape(nb,224,1),NBC.n, NBC.alpha, NBC.sv,NBC.b, NBC.params); scoretext=sprintf('(%d,%d) %.2f',y,x,sc); set(handles.NBScore,'string',scoretext);% --------------------------------------------------------------------function varargout = uNoseBridge_Callback(h, eventdata, handles, varargin)global coord;y=coord(5,1);x=coord(5,2);if y == 1 disp('cant go up');else y=y-1; coord(5,1)=y; shownb(handles,x,y);end% --------------------------------------------------------------------function varargout = dNoseBridge_Callback(h, eventdata, handles, varargin)global im;global coord;y=coord(5,1);x=coord(5,2);if y == size(im,1)-13 disp('cant go down');else y=y+1; coord(5,1)=y; shownb(handles,x,y);end% --------------------------------------------------------------------function varargout = rNoseBridge_Callback(h, eventdata, handles, varargin)global im;global coord;y=coord(5,1);x=coord(5,2);if x == size(im,2)-16 disp('cant go right');else x=x+1; coord(5,2)=x; shownb(handles,x,y);end% --------------------------------------------------------------------function varargout = lNoseBridge_Callback(h, eventdata, handles, varargin)global im;global coord;y=coord(5,1);x=coord(5,2);if x == 1 disp('cant go left');else x=x-1; coord(5,2)=x; shownb(handles,x,y);end% --------------------------------------------------------------------function varargout = trainNotNoseBridge_Callback(h, eventdata, handles, varargin)global im;global coord;y=coord(5,1);x=coord(5,2);load nbs;tmp = reshape(im(y:y+13,x:x+15),224,1);tmp = histeq(tmp,255);labels=[labels 2];samples=[samples tmp];save nbs labels samples%if (mod(size(samples,2),20)==0)load ECdisp('training...');[NBC.alpha, NBC.sv, NBC.b, NBC.params, NBC.n]=osuSVMTrain(samples,labels, NBC.params);save EC EC NC MC NBC[nby,nbx]=locate(im,5);%sprintf('righteye position is: %d %d',righteyey,righteyex);axes(handles.xnb);imshow(im(nby:nby+13,nbx:nbx+15));coord(5,1)=nby;coord(5,2)=nbx;%end;% --------------------------------------------------------------------function varargout = trainPerson_Callback(h, eventdata, handles, varargin)global nameLabel;global im;global coord;load ECnose = reshape(im(coord(1,1):coord(1,1)+17,coord(1,2):coord(1,2)+12),234,1);mouth = reshape(im(coord(2,1):coord(2,1)+12,coord(2,2):coord(2,2)+26),351,1);lefteye = reshape(im(coord(3,1):coord(3,1)+14,coord(3,2):coord(3,2)+14),225,1);righteye = reshape(im(coord(4,1):coord(4,1)+14,coord(4,2):coord(4,2)+14),225,1);nb = reshape(im(coord(5,1):coord(5,1)+13,coord(5,2):coord(5,2)+15),224,1);tset=[nose;mouth;lefteye;righteye;nb];newLabel = menu('select label' ,'1' ,'2','3','4','5','6','7','8','9','10','11');load trainingsetlabels=[labels newLabel];samples=[samples tset];load TS %TS=TrainingSet[TS.alpha, TS.sv, TS.b, TS.params, TS.n]=LinearSVC(samples,labels);save TS TSsave trainingset samples labelsdisp('FINISHED TRAINING');% --------------------------------------------------------------------function varargout = namesList_Callback(h, eventdata, handles, varargin)global name;global nameLabel; % this is the number of the chosen name, % except from Anonymous all numbers are % added by one because label=2 is kept for wrong samples!!! callobj = gcbo;if isempty(callobj) str = {'First line' 'second line' 'third line' 'fourth line'}; h = uicontrol('Style', 'ListBox', 'Units', 'Normalized',... 'position', [.3 .3 .3 .3], 'String', str, ... 'callback', 'sample');else str = get(callobj, 'string'); % Get the entire cell array of strings nameLabel = get(callobj, 'value'); % Get the value of the listbox name = str(nameLabel); %disp(result);end%if nameLabel ~= 1% nameLabel=nameLabel+1;%endtext=sprintf('train person as: %d ',nameLabel);text=strcat(text,name);set(handles.trainPerson,'string',text);% --------------------------------------------------------------------function varargout = identify_Callback(h, eventdata, handles, varargin)global name;global nameLabel;global im;global coord;nose = reshape(im(coord(1,1):coord(1,1)+17,coord(1,2):coord(1,2)+12),234,1);mouth = reshape(im(coord(2,1):coord(2,1)+12,coord(2,2):coord(2,2)+26),351,1);lefteye = reshape(im(coord(3,1):coord(3,1)+14,coord(3,2):coord(3,2)+14),225,1);righteye = reshape(im(coord(4,1):coord(4,1)+14,coord(4,2):coord(4,2)+14),225,1);nb = reshape(im(coord(5,1):coord(5,1)+13,coord(5,2):coord(5,2)+15),224,1);tset=[nose;mouth;lefteye;righteye;nb];load TS[L,sc] = osuSVMclass(tset,TS.n, TS.alpha, TS.sv,TS.b, TS.params)allNames=get(handles.namesList,'string');%if L > 1 , L=L-1;%endtheName=allNames(L);text=sprintf('Person is identified as: %d ',L);text=strcat(text,theName);set(handles.identification,'string',text);text=sprintf('train person as: %d ',L);text=strcat(text,theName);set(handles.trainPerson,'string',text);name=L;nameLabel=theName;% --TrainEye--------------------------------------------------------------function varargout = pushbutton55_Callback(h, eventdata, handles, varargin)global im;global coord;y=coord(4,1);x=coord(4,2);load eyestmp = reshape(im(y:y+14,x:x+14),225,1);tmp = histeq(tmp,255);labels=[1 labels];samples=[tmp samples];save eyes labels samplesif (mod(size(samples,2),20)==0)load EC[EC.alpha, EC.sv, EC.b, EC.params, EC.n]=osuSVMTrain(samples,labels, EC.params,2);save EC EC NC MC NBCend;% --------------------------------------------------------------------function varargout = TrainNoseBridge_Callback(h, eventdata, handles, varargin)global im;global coord;y=coord(5,1);x=coord(5,2);load nbs;tmp = reshape(im(y:y+13,x:x+15),224,1);tmp = histeq(tmp,255);labels=[1 labels];samples=[tmp samples];save nbs labels samplesif (mod(size(samples,2),20)==0)load EC[NBC.alpha, NBC.sv, NBC.b, NBC.params, NBC.n]=osuSVMTrain(samples,labels, NBC.params,2);save EC EC NC MC NBCend% --------------------------------------------------------------------function varargout = TrainLeftEye_Callback(h, eventdata, handles, varargin)global im;global coord;y=coord(3,1);x=coord(3,2);load eyestmp = reshape(im(y:y+14,x:x+14),225,1);tmp = histeq(tmp,255);labels=[1 labels];samples=[tmp samples];save eyes labels samplesif (mod(size(samples,2),20)==0)load EC[EC.alpha, EC.sv, EC.b, EC.params, EC.n]=osuSVMTrain(samples,labels, EC.params,2);save EC EC NC MC NBCend% --------------------------------------------------------------------function varargout = TrainMouth_Callback(h, eventdata, handles, varargin)global im;global coord;y=coord(2,1);x=coord(2,2);load mouths;tmp = reshape(im(y:y+12,x:x+26),351,1);tmp = histeq(tmp,255);labels=[1 labels];samples=[tmp samples];save mouths labels samplesif (mod(size(samples,2),20)==0)load EC[MC.alpha, MC.sv, MC.b, MC.params, MC.n]=osuSVMTrain(samples,labels, MC.params);save EC EC NC MC NBCend% --------------------------------------------------------------------function varargout = TrainNose_Callback(h, eventdata, handles, varargin)global im;global coord;y=coord(1,1);x=coord(1,2);load nosestmp = reshape(im(y:y+17,x:x+12),234,1);tmp = histeq(tmp,255);labels=[1 labels];samples=[tmp samples];save noses labels samplesif (mod(size(samples,2),20)==0)load EC[NC.alpha, NC.sv, NC.b, NC.params, NC.n]=osuSVMTrain(samples,labels, NC.params,2);save EC EC NC MC NBCend% --------------------------------------------------------------------function varargout = identification_Callback(h, eventdata, handles, varargin)% Stub for Callback of the uicontrol handles.identification.disp('identification Callback not implemented yet.')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -