在好例子网,分享、交流、成长!
您当前所在位置:首页MATLAB 开发实例MATLAB语言基础 → Matlab指纹识别 程序源码

Matlab指纹识别 程序源码

MATLAB语言基础

下载此实例
  • 开发语言:MATLAB
  • 实例大小:1.99M
  • 下载次数:52
  • 浏览次数:318
  • 发布时间:2019-08-04
  • 实例类别:MATLAB语言基础
  • 发 布 人:robot666
  • 文件格式:.rar
  • 所需积分:2
 相关标签: MATLAB 指纹识别 程序 识别 源码

实例介绍

【实例简介】

【实例截图】

from clipboard

【核心代码】

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');

实例下载地址

Matlab指纹识别 程序源码

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警