基本信息
源码名称:Matlab指纹识别 程序源码
源码大小:1.99M
文件格式:.rar
开发语言:MATLAB
更新时间:2019-08-04
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在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');