基本信息
源码名称:Matlab指纹识别 程序源码
源码大小:1.99M
文件格式:.rar
开发语言:MATLAB
更新时间:2019-08-04
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

function varargout = final(varargin)
% FINAL M-file for final.fig
%      FINAL, by itself, creates a new FINAL or raises the existing
%      singleton*.
%
%      H = FINAL returns the handle to a new FINAL or the handle to
%      the existing singleton*.
%
%      FINAL('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in FINAL.M with the given input arguments.
%
%      FINAL('Property','Value',...) creates a new FINAL or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before final_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to final_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help final

% Last Modified by GUIDE v2.5 07-Jun-2010 12:43:35

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @final_OpeningFcn, ...
                   'gui_OutputFcn',  @final_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
% End initialization code - DO NOT EDIT


% --- Executes just before final is made visible.
function final_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to final (see VARARGIN)

% Choose default command line output for final
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes final wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = final_OutputFcn(hObject, eventdata, handles) 
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;


% --- Executes on slider movement.
function slider1_Callback(hObject, eventdata, handles)
% hObject    handle to slider1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'Value') returns position of slider
%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
value = get(handles.slider1,'Value');
% Place the value in the text field
r=5*value;
    str = sprintf('%d ',r);   
set (handles.edit1,'String',str);
save('r.mat','r');






% --- Executes during object creation, after setting all properties.
function slider1_CreateFcn(hObject, eventdata, handles)
% hObject    handle to slider1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: slider controls usually have a light gray background.
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor',[.9 .9 .9]);
end


% --- Executes on slider movement.
function slider2_Callback(hObject, eventdata, handles)
% hObject    handle to slider2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'Value') returns position of slider
%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
value = get(handles.slider2,'Value');
% Place the value in the text field
num=10*value;
    str = sprintf('%d ',num);   
set (handles.edit2,'String',str);
save('num.mat','num');

% --- Executes during object creation, after setting all properties.
function slider2_CreateFcn(hObject, eventdata, handles)
% hObject    handle to slider2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: slider controls usually have a light gray background.
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor',[.9 .9 .9]);
end



function edit1_Callback(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text
%        str2double(get(hObject,'String')) returns contents of edit1 as a double
r= str2num(get(hObject,'String'));
if r>10
    r=10;
elseif r<=0
    r=1;
end
save('r.mat','r');

% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end



function edit2_Callback(hObject, eventdata, handles)
% hObject    handle to edit2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit2 as text
%        str2double(get(hObject,'String')) returns contents of edit2 as a double
num= str2num(get(hObject,'String'));
if num>100
    num=100;
elseif num<=0
    num=10;
end
save('num.mat','num');

% --- Executes during object creation, after setting all properties.
function edit2_CreateFcn(hObject, eventdata, handles)
% hObject    handle to edit2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end


% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
msgbox('Are you ready?');



% --- Executes on button press in pushbutton6.
function pushbutton6_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton6 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
load ('final.mat');
axes(handles.axes9);
txy1=cut(thin1,txy1,bj1);
axes(handles.axes10);
txy2=cut(thin2,txy2,bj2);

save('final.mat');

% --- Executes on button press in pushbutton7.
function pushbutton7_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton7 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
load('img1.mat');
load('img2.mat');
[thin1,bj1]=tuxiangyuchuli(img1);
[thin2,bj2]=tuxiangyuchuli(img2);
axes(handles.axes9);
imshow(thin1);
axes(handles.axes10);
imshow(thin2);
save('final.mat');






% --- Executes on button press in pushbutton8.
function pushbutton8_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton8 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
load ('final.mat');
axes(handles.axes9);
[w1,txy1]=guanghua(thin1,txy1);
axes(handles.axes10);
[w2,txy2]=guanghua(thin2,txy2);
thin1=w1;
thin2=w2;
save('final.mat');

% --- Executes on button press in pushbutton9.
function pushbutton9_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton9 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
load ('final.mat');
axes(handles.axes1);
txy1=point(thin1);
axes(handles.axes10);
txy2=point(thin2);
save('final.mat');

% --- Executes on button press in pushbutton10.
function pushbutton10_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton10 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

load ('final.mat');
load ('r.mat','r');
axes(handles.axes1);
imshow(thin1);hold on;
[pxy21,error]=single_point(txy1,r);
axes(handles.axes10);
imshow(thin2);hold on;
[pxy22,error]=single_point(txy2,r);
save('final.mat');

% --- Executes on button press in pushbutton11.
function pushbutton11_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton11 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
load ('final.mat');
cxy1=pxy31;
cxy2=pxy32;
s1=size(cxy1,1);
s2=size(cxy2,1);
f=10;
x=0;
y=0;
for i=1:s1
    for j=1:s2
   d1=distance(cxy1(i,1),cxy1(i,2),num,thin1);
   d2=distance(cxy2(j,1),cxy2(j,2),num,thin2);
    ff=(sum(abs((d1./d2)-1)));
    if ff<f
        x=i;
        y=j;
        f=ff;
    end
    end
end
 
    if f>=0.6
        msgbox('not match');
    end
        sxy1(1,:)=cxy1(x,:);
        sxy2(1,:)=cxy2(y,:);     

    c1=find_point(sxy1(1,1),sxy1(1,2),txy1,2);
    c2=find_point(sxy2(1,1),sxy2(1,2),txy2,2);

    sxy1(2,:)=c1(1,:);
    sxy1(3,:)=c1(2,:);
    sxy2(2,:)=c2(1,:);
    sxy2(3,:)=c2(2,:);

    x11=sxy1(1,1);  y11=sxy1(1,2);
    x12=sxy1(2,1);  y12=sxy1(2,2);
    x13=sxy1(3,1);  y13=sxy1(3,2);
    x21=sxy2(1,1);  y21=sxy2(1,2);
    x22=sxy2(2,1);  y22=sxy2(2,2);
    x23=sxy2(3,1);  y23=sxy2(3,2);
    dd1(1)=juli(x11,y11,x12,y12);
    dd1(2)=juli(x12,y12,x13,y13);
    dd1(3)=juli(x13,y13,x11,y11);
    dd2(1)=juli(x21,y21,x22,y22);
    dd2(2)=juli(x22,y22,x23,y23);
    dd2(3)=juli(x23,y23,x21,y21);
    ff=(sum(abs((dd1./dd2)-1)));
    %if ff>=1.5
     %   msgbox('not match');
 %       break;
    %end

    
    cxy1(2:41,:)=find_point(pxy31(x,1),pxy31(x,2),txy1,40);
    cxy2(2:41,:)=find_point(pxy32(y,1),pxy32(y,2),txy2,40);
    f11=length(find(cxy1(:,3)==2));
    f12=length(find(cxy1(:,3)==6));
    f21=length(find(cxy2(:,3)==2));
    f22=length(find(cxy2(:,3)==6));
    fff=abs(f11-f21)/(f11 f12);
    if fff<=0.3
        msgbox('match!');
    else 
        msgbox('not match');
    end
save('final.mat');




% --- Executes on button press in pushbutton12.
function pushbutton12_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton12 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
load ('final.mat');
load('num.mat','num');
load ('r.mat','r');
axes(handles.axes9);
[pxy31,error2]=last1(thin1,r,txy1,num);
axes(handles.axes10);
[pxy32,error2]=last1(thin2,r,txy2,num);
save('final.mat');





% --- Executes on button press in pushbutton13.
function pushbutton13_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton13 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
close(gcf);

% --- Executes on button press in pushbutton17.
function pushbutton17_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton17 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
[filename, pathname] = uigetfile('*.bmp', 'Load zhiwen File');
if filename ~= 0
img2 = imread([pathname filename]);
axes(handles.axes10);
imshow(img2);
save('img2.mat','img2');
end

% --- Executes on button press in pushbutton16.
function pushbutton16_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton16 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
[filename, pathname] = uigetfile('*.bmp', 'Load zhiwen File');
if filename ~= 0
img1 = imread([pathname filename]);
axes(handles.axes1);
imshow(img1);
save('img1.mat','img1');
end


% --- Executes on button press in pushbutton18.
function pushbutton18_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton18 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
load num.mat;
set (handles.slider2,'Value',num/10);
str=sprintf('%.2f',num);
set (handles.edit2,'String',str);
save ('num.mat','num');

% --- Executes on button press in pushbutton19.
function pushbutton19_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton19 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
load r.mat;
set (handles.slider1,'Value',r/5);
str=sprintf('%.2f',r);
set (handles.edit1,'String',str);
save ('r.mat','r');