指纹识别模块单片机程序

指纹识别模块单片机程序
指纹识别模块单片机程序

#include

#include

#define TRUE 1

unsigned char SaveNumber=0,searchnum=0;

unsigned int S earchNumber=0;

unsigned int clk0=0;

sbit relay =P1^4; //继电器引脚

sbit buzzer=P1^5; //蜂鸣器引脚

sbit red= P2^7;//录入模式指示灯在板子靠近单片机处

sbit green= P2^0;//识别模式指示灯在板子远离单片机处

sbit k1=P3^3; //模式识别

sbit k2=P3^4; //录入一次指纹

sbit k3=P3^2; //清除所有指纹(10个指纹清除)

//变量定义:

unsigned char code tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//表:共阳数码管0-9

//数码管引脚定义:

sbit SMG_g = P1^3; //定义数码管阳级控制脚(个位)

//由于程序中定时器被用我们用一位数码管显示且为静太显示所以推荐大家用1602或者12864液晶

bit changeflag=0,modeflag=0,clearallflag=0; //默认为识别模式,如果为1为录入指纹模式,每录入一次SaveNumber++

//////////////////////////////////////常用指令定义/////////////////////////////

//Verify Password :验证设备握手口令

unsigned char code VPWD[16]={16,0X01 ,0Xff,0xff,0xff,0xff, 0x01,0,7,0x13,0x00,0x00,0x00,0x00,0x00,0x1b}; //回送12个

//设置设备握手口令

unsigned char code STWD[16]={16,0X01 ,0Xff,0xff,0xff,0xff, 0x01,0,7,0x12,0x00,0x00,0x00,0x00,0x00,0x1a}; //回送12个

//GetImage :探测手指并从传感器上读入图像

unsigned char code GIMG[14]={12, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,3,1,0x00,0x05}; //回送12个

//Gen Templet1 :根据原始图像生成指纹特征1

unsigned char code GENT1[14]={13,0X01 ,0Xff,0xff,0xff,0xff,0x01,0,4,2,1,0x00,0x08}; //回送12个

//Gen Templet2 :根据原始图像生成指纹特征2

unsigned char code GENT2[14]={13,0X01 ,0Xff,0xff,0xff,0xff,0x01,0,4,2,2,0x00,0x09}; //回送12个

//Search Finger :以CharBufferA或CharBufferB中的特征文件搜索整个或部分指纹库unsigned char code SEAT[18]={17, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,8, 4,1,0,0, 0,0x65, 0x00,0x73}; //回送16个

//Merge Templet ;将CharBufferA与CharBufferB中的特征文件合并生成模板,结果存于ModelBuffer。

unsigned char code MERG[14]={12, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,3,5 , 0x00,0x09};//回送12个

//Store Templet :将ModelBuffer中的文件储存到flash指纹库中

unsigned char code STOR[16]={15, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,6,6,2, 0x00,0x00, 0x00,0x0f}; //回送12个

//Read Note

unsigned char code RDNT[14]={13,0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,4,0x19, 0, 0x00,0x1e};

//Clear Note

unsigned char code DENT[46]={45,0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,36,0x18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x00,0x3d};

//DEL one templet

unsigned char code DELE_one[16]={16, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,7, 0x0c,0x00,0x00, 0,1, 0x00,0x15};

//DEL templet ;清空指纹库

unsigned char code DELE_all[12]={12,0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,3, 0x0d,0x00,0x11}; ////////////////常用指令定义-------结束///////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////宏定义////////////////////////////////////////////////////////////////////////

#define FALSE 0

#define TURE 1

//状态定义表

#define on 1

#define off 0

#define MAX_NUMBER 63

#define _Nop() _nop_()

//////////////////////////////////////宏定义------------结束////////////////////////////////////////////////////////

unsigned char FifoNumber=0;

unsigned char FIFO[MAX_NUMBER+1]={0};

/*********1毫秒延时程序**********/

void delay1ms(unsigned int t)

{

unsigned int i,j;

for(i=0;i

for(j=0;j<120;j++)

;

}

void TxdByte(unsigned char dat)//串口发送信息,通过查询方式发送一个字符

{

TI = 0; //让TI=0

SBUF = dat; //读入数据

while(!TI); //等待发送完毕

TI = 0; //清零

}

bit Command(unsigned char *p,unsigned char MaxTime) //命令解析,给模块发送一个命令{

unsigned char count=0,tmpdat=0,temp=0,i=0,package=0,flag=0,checksum=0;

bit result=0, start=0,stop=0;

TxdByte(0xef);//数据包包头识别码

TxdByte(0x01);//数据包包头识别码

i=*p; //数组的第“0”个元素、里面存放了本数组的长度,把这个长度给变量i,方便进行操作

p++;

p++;

for (count=i-1; count!=1;count--) //Sent command String

{

temp=*p++; //取第个“1”个元素的内容,然后发送

TxdByte(temp);//将数据发送出去

}

result=TURE;//发送完成,结果为真(真为1)

FifoNumber=0;

for (count=MAX_NUMBER+1; count!=0; count--)//清空所有FIFO[]数组里面的内容,写入0X00

FIFO[count-1]=0x00;

if (result)

{

result=FALSE;

start =FALSE;

stop =FALSE;

count=0;

clk0=0; //清零CL0计数

do /////////////////////////////do的内容////////////////////////////////

{

restart0:

if (RI==1)//如果接收到数据

{

tmpdat=SBUF;//先把接收到的数据放到tmpdat中

RI=0;

if ((tmpdat==0xef)&&(start==FALSE))//这个数据为第一个传回来的数据,也就是“指令应答”的第一个字节

{

count=0;

FIFO[0]=tmpdat;//读入第一个应答字节(0XEF),存在第“0”个元素中

flag=1;

goto

restart0;//可以用中断方式进行

}

if(flag==1)//第一个字节已经回来,所以flag==1成立

{

if(tmpdat!=0x01) //接收数据错误,将重新从缓冲区接收数

{

flag=0;//接收应答失败

result=FALSE;

start =FALSE;

stop=FALSE;

count=0;

goto

restart0;

}

//如果成功接收到0xef01,可以开始接收数据

flag=2;//flag=2;表示应答成功,可以开始接收数据了

count++;//现在count=1;

FIFO[count]=tmpdat;//读入第二个应答字节(0X01),存在第“1”个元素中

start=TURE; //应答成功可以开始接收数据

goto

restart0;

}

if((flag==2)&&(start==TURE))//flag=2;表示应答成功,可以开始接收数据了

{

count++; //数据元素下标++

FIFO[count]=tmpdat;//存入数据

if(count>=6)

{

checksum=FIFO[count]+checksum; //计算校验和

}

if(count==8)

{

package=FIFO[7]*0X100+FIFO[8]; //计算包长度

stop= TURE;

}

if(stop)

{

if(count==package+8)

{

checksum=checksum-FIFO[count-1] - FIFO[count];

if(checksum != (FIFO[count]&0xff))

result=FALSE; //校验失败,置结果标志为0

else

result=TURE;

flag=0;

break;

}

}

}

}

}/////////////////////////////do的内容----------------结束////////////////////////////////

while ((clk0 <= MaxTime) && (count <= MAX_NUMBER) && (changeflag==0)); //由定时器以及最大接收数据来控制,保证不会在此一直循环

FifoNumber=count; //保存接收到的数据个数

}

return (result);

}

bit VefPSW(void)//验证设备握手口令,成功返回1

{

unsigned char count=0;

while (1)

{

if(Command(VPWD,20) && (FifoNumber==11) && (FIFO[9]==0x00))

return(1);

count++;

if (count>=2)//如果不成功,再验证一次,如果两次不成功,返回失败

{

return(0);

}

}

}

void Clear_All(void) //清空指纹库

{

delay1ms(200);

Command(DELE_all,50); //清空指纹库

}

unsigned char ImgProcess(unsigned char BUFID) //发获取图像并生成特征文件,存入BUFID 中//输入参数为缓冲区号

{

if(Command(GIMG,89) && (FifoNumber==11) && (FIFO[9]==0x00))

{

if(BUFID==1)

{

if(Command(GENT1,60) && (FifoNumber==11) && (FIFO[9]==0x00))

{

return 1;

}

else

{

return 0;

}

}

else if(BUFID==2)

{

if(Command(GENT2,60) && (FifoNumber==11) && (FIFO[9]==0x00))

{

return 1;

}

else

{

return 0;

}

}

}

else

{

return 0;

}

return 0;

}

bit Searchfinger(void)//搜索指纹(发送搜索命令、以及根据返回值确定是否存在)

{

if(Command(SEAT,60) && (FifoNumber==15) && (FIFO[9]==0x00) )

{

SearchNumber=FIFO[10]*0x100+FIFO[11];//搜索到的页码

//MatchScore=FIFO[12]*0x100+FIFO[13] 可以在此计算得分,从而进行安全级别设定,本程序忽略

return 1;

}

else

{

return 0;

}

}

unsigned char search(void)//搜索指纹

{

unsigned char SearchBuf=0,i=0;

while (i<20)

{

if (ImgProcess(1)==1)//首先读入一次指纹

{

SearchBuf=Searchfinger();//进行指纹比对,如果搜索到,返回搜索到的指纹序号

if(SearchBuf==1)

{

return SearchNumber;

}

else

{

return 255;//表示搜索到的指纹不正确

}

}

i++;

}

return 0;

}

bit savefingure(unsigned char ID)//保存指纹

{

unsigned char i=0;

//现在开始进行存储指纹模板的操作

for (i=0;i<16;i++) //保存指纹信息

{

FIFO[i]=STOR[i];

}

FIFO[12]=ID; //把指纹模板存放的PAGE_ID也就是FLASH的位置

FIFO[14]=FIFO[14]+ID; //校验和

if (Command(FIFO,70)==1)//此处进行存放指纹模板的命令

{

return(1);

}

else

{

return(0);//不成功返回0

}

}

unsigned char enroll(void) //采集两次指纹,生成1个指纹模板

{

unsigned char temp=0,count=0;

while(1)

{

temp=ImgProcess(1); //生成特征1

if (temp==1)//生成特征文件成功

{

//采集第一个特征成功

count=0;

buzzer=0;

delay1ms(100);

buzzer=1;

break;

}

else

{

if (temp==0)//采集指纹没有成功

{

count++;

if (count>=40)//如果采集了40次,还不成功,直接采集失败,直接退出enroll函数----返回0

return(0);

}

}

}

delay1ms(2000);//延时2S开始采集下一个特征

//开始采集第二个特征

while(1)

{

temp=ImgProcess(2); //生成特征2

if (temp==1)//生成特征文件2成功

{

if ( (Command(MERG,40)&& (FifoNumber==11) && (FIFO[9]==0x00))==1 ) //合并成功返回1

{

buzzer=0;

delay1ms(100);

buzzer=1;

delay1ms(100);

buzzer=0;

delay1ms(100); //响两声,表示生成一个模板成功

buzzer=1;

return(1);

}

else

{

return(0);

}

}

else

{

if (temp==1)//采集指纹没有成功

{

count++;

if (count>=25)

return(0);

}

}

}

}

void main(void)//主函数

{

unsigned char i=0;

ET0=1; //定时器0开中断

TL0=0x97; //17ms的初值

TH0=0xBD;

//串口初始化

SCON=0x50; //UART方式1:8位UART; REN=1:允许接收

PCON=0x00; //SMOD=0:波特率不加倍

TMOD=0x21; //T1方式2,用于UART波特率

TH1=0xFD;

TL1=0xFD; //UART波特率设置:9600

TR1=1;

TR0=1;// 开定时器0

IT0=0;//中断0低电平中断

IT1=1;//中断1低电平中断

EX0=1;//开中断0

EX1=1;//开中断1

EA=1;

SMG_g = 0;

P0 = tab[0];//显示0

for(i=0;i<6;i++)//开始握手6次,如果没有一次成功,表示模块通信不正常。只要成功就跳出此循环

{

if(VefPSW()==1)//与模块握手通过,绿灯亮起。进入识别模式

{

green=0;

buzzer=0;

delay1ms(300);

buzzer=1;

green=1;

red=0;

break; //成功就退出这个循环

}

}

while(1)

{

if(k2==0)//录入一个指纹

{

delay1ms(10);

if(k2==0)//如果仍为低电平,表示按键有效

{

while(k2==0);//等待松手

if(VefPSW()==1&&modeflag==1&&SaveNumber<10)//与模块握手通过

{

if(enroll()==1)//采集两次,生成1个指纹模板成功

{

if(savefingure(SaveNumber+1)==1)//保存也成功

{

SaveNumber++;//加一次

P0=tab[SaveNumber];

delay1ms(200);

P0=0xFF;//来一次显示,闪烁一次

delay1ms(200);

P0=tab[SaveNumber];

}

}

}

else

{

buzzer=0;

for(i=0;i<8;i++)

{

delay1ms(100);

red=~red;

}

red=0;

buzzer=1;

}

}

}

if(modeflag==0)//为识别模式

{

green=0;

red=1;

searchnum=search();

if(searchnum>=1&&searchnum<=162)//只能存入162个指纹

{

P0=tab[searchnum];//显示搜索到的指纹模块

//蜂鸣器响一声

//继电器打开约3秒钟

relay=0;

buzzer=0;

delay1ms(100);

buzzer=1;

delay1ms(3000);

relay=1;

}

if(searchnum==255)//不正确的指纹蜂鸣器响三声

{

P0=tab[0];//显示0

buzzer=0;delay1ms(100); buzzer=1;delay1ms(100);

buzzer=0;delay1ms(100); buzzer=1;delay1ms(100);

buzzer=0;delay1ms(100); buzzer=1;delay1ms(100);

}

}

if(modeflag==1)//录入模式

{

green=1;

red=0;

}

if(clearallflag==1)

{

clearallflag=0;

Clear_All();

red=0; //红色灯亮

green=1;

//蜂鸣器长响一次,表示清除所有指纹结束

modeflag=1;//进入录入指纹模式

P0=tab[0];//表示没有指纹录入

buzzer=0;

delay1ms(800);

buzzer=1;

SaveNumber=0;

}

if(changeflag==1)

{

changeflag=0;

if(modeflag==0) //识别模式

{

green=0;

red=1;

P0=tab[0];//显示当前有几个指纹

}

else //录入模式

{

red=0;

green=1;

P0=tab[0];//显示0

}

}

}////////////////////////////while(1)结束////////////////////////////////

}

void Timer0(void) interrupt 1//定时器0中断函数

{

TL0=0x97;

TH0=0xBD;

clk0++; //延时17ms

}

void int0(void) interrupt 0//中断0,清除所有指纹

{

if(k3==0) //清除所有指纹

{

delay1ms(10);

if(k3==0)//如果仍为低电平,表示按键有效

{

while(k3==0);//等待松手

clearallflag=1;

changeflag=1;

}

}

}

void int1(void) interrupt 2//中断1,模式转换

{

if(k1==0)//模式转换其中用modeflag 来标志,默认从第1个指纹开始录入{

delay1ms(10);

if(k1==0)//如果仍为低电平,表示按键有效

{

while(k1==0);//等待松手

modeflag=~modeflag;//0表示录入指纹1表示识别指纹

changeflag=1;

}

}

}

指纹识别系统

指纹识别系统 1.1 指纹识别系统原理 指纹识别系统的组成原理。如图1-1所示。图中的学习模块负责采集用户指纹数据,对指纹图像进行预处理,提取这些指纹的特征,作为将来的比对模板存人数据库。而识别模块则负责采集和处理指纹图像,在提取特征后与数据库中的指纹模板进行比对,然后判断是否匹配.得出结论。整个系统的核心就是图像处理、特征提取以及指纹比对。 图1-1 1.2 指纹采集与指纹图像处理方法 目前,主要的指纹采集方法有两种:一种是光学采集器;另一种是用半导体传感器。光学采集器采集指纹是通过把手指沾上油墨后按在白纸上,然后用摄像机把图像转换为电信号。光学采集受外界干扰小、采集精度较高,但是数据量较大,因此处理时问较长。而对于半导体传感器来说,手指的温度、湿度对其测量结果有影响,但是数据量不大,处理比较方便。随着半导体技术的发展,半导体传感器的成本低、体积小、方便集成等优点逐步体现,它已逐步代替光学采集器。指纹鉴定过程的第一个阶段是指纹图像的采集阶段,也就是指纹模板的录A阶段。为了初步确定图像预处理方法,我们必须首先了解指纹传感器获得的图像的尺寸和质量。根据不同的指纹传感器,我们设计不同的方案进行图像采集,并将从各个图中提出特征点储存到数据库中,来产生“活模板”,为后面的指纹鉴定做准备。 指纹图像处理是整个指纹识别过程的核心。常见的指纹图像处理包括滤波增强、二值化、细化、提取特征点四个步骤。在采集指纹图像的过程中,由于采集环境,皮肤表面的性质,采集设备的差异等各种因素的影响,采集的图像会不同程度的受到各种噪声的干扰,从而影响了采集图像的质量。所以实际的指纹图像首先通过一个滤波增强来改善图像的质量,恢复

基于某单片机指纹识别系统设计

任务书 课程设计题目:指纹识别 功能简述: 1)根据所学的知识和能力,设计程序可以实现根据指纹的大小、形状等特征,识别出不同的指纹。 2)利用按键标志当前指纹识别的状态,例如录入状态,识别状态,清楚状态;利用液晶1602能够显示当前指纹识别的状态信息。 3)利用继电器,对当前信息的判断,例如提醒当前指纹识别错误;利用蜂鸣器和LED等提醒当前指纹识别是否正确

目录 第一章绪论…………………………………………………….. 1.1、指纹识别中的基本概念…………………………………1.2 指纹识别的发展前景………………………………………1.3、指纹识别课题设计的内容与意义……………………….. 第二章方案选择……………………………………………… 2.1 系统原理图设计……………………………………………2.2方案说明……………………………………………………… 2.3 方案比较……………………………………………………2.4 方案选择………………………………………………………第三章硬件设计………………………………………………3.1 AT89C52单片机设计……………………………………… 3.2 电源电路设计………………………………………………3.3 按键控制部分电路…………………………………………3.4 LED指示灯电路………………………………………… 3.5 蜂鸣器电路……………………………………………… 3.6 指纹传感器模块………………………………………… 第四章软件程序设计…………………………………………. 4.1程序流程图………………………………………………… 4.2程序…………………………………………………………. 第五章调试…………………………………………………… 5.1硬件调试……………………………………………………. 5.2软件调试……………………………………………………

(完整版)第二章指纹识别的原理和方法

第二章指纹识别的原理和方法 指纹识别的采集及其参数[15] 指纹具有惟一性(随身携带、难以复制、人人不同、指指相异)。根据指纹学理论,将两人指纹分别匹配上12个特征时的相同几率仅为1/1050。指纹还具有终身基本不变的相对稳定性。指纹在胎儿六个月时已完全形成,随着年龄的增长,尽管人的指纹在外形大小、纹线粗细上会有变化,局部纹线之间也可能出现新细线特征,但从总体上看,同一手指的指纹纹线类型、细节特征的总体布局等无明显变化。指纹的这些特点为身份鉴定提供了客观依据。 指纹识别过程可以分为4个步骤:采集指纹图像、提取特征、保存数据和比对。通过指纹读取设备读取到人体指纹的图像,取到指纹图像之后,要对原始图像进行初步的处理,使之更清晰。指纹辨识软件建立指纹的数字表示特征数据,软件从指纹上找到被称为“节点”(minutiae)的特征点,这些数据(通常称为模板),保存为1K大小的记录。最后,通过计算机模糊比较的方法,把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果。 2.2.1指纹图像的采集[16][17][18] 指纹采集模式主要分为“离线式”和“在线式”两种。所谓“离线式”就是指在指纹采集时,利用某些中间介质(如油墨和纸张)来获取指纹图像,在通过一定的技术手段将图像数字化输入计算机,它属于非实时采集。目前“离线式”采集方式在大多数场合已经消失。所谓“在线式”是通过与计算机联机的先进指纹传感器的专用指纹采集设备,将真实的人体指纹直接变成数字图像数据,实时传输给计算机。 基于指纹传感器的“在线式”实时采集设备以其操作简单、实时性强、采集效率高、图像质量好等优点,广泛应用于自动指纹识别领域。 指纹传感器是采集指纹的装置,是一切自动指纹识别系统的必备设备,从原理上,目前见到的指纹传感器分下面3类: (1)光学录入

基于STM32单片机开发光学指纹识别模块

基于STM32单片机开发光学指纹识别模块(FPM10A)全教程 收藏人:共同成长888 2014-05-08 | 阅:25 转:0 | 来源| 分享 基于STM32单片机开发光学指纹识 别模块(FPM10A)全教程 ? 1.平台 首先我使用的是奋斗 STM32 开发板 MINI板 光学指纹识别模块(FPM10A)

2.购买指纹模块,可以获得三份资料 1.简要使用说明 2.使用指纹模块的功能函数 3.FPM10A用户手册. 3.硬件搭建 根据使用说明:FPM 10A使用标准的串口与外界通信,默认的波特率为57600,可以与任何单片机,ARM,DSP等带串口的设备进行连接,请注意电平转换,连接电脑需要进行电平转换,比如MAX232电路。 FPM10A光学指纹模块共有5个管脚 1 为VCC 电源的正极接 3.6V – 5.5V的电压均可。 2 为GND 电源的负极接地。 3 为TXD 串口的发送。 4 为RXD 串口的接收。 5 为NC 悬空不需要使用。 奋斗板上已经有5V的管脚,可以直接供给指纹模块, 这里需要注意的是,指纹模块主要通过串口进行控制,模块和STM32单片机连接的时候,需要进行电平转换, 这样只要把这个转接板插入STM32,接上5V的电,就可以工作了,将模块的发送端接转接板的接收端,接收端接转接板的发送端。 这样,我们的硬件平台就搭建好了! 4.模块的测试工作 模块成功上电后,指纹采集窗口会闪一下,表示自检正常,如果不闪,请仔细检查电源,是否接反,接错等。指纹模块使用120MHZ的DSP全速工作,工作时芯片有一些热,经过严格的测试,这是没有问题的可以放心使用,在不使用的时候可以关闭电源,以降低功耗。 5.现在我们要进入编程环节了 指纹模块主要是通过串口进行控制,所以这里我们需要用到单片机的串口模块。

指纹识别的原理和方法

指纹识别的原理和方法 一、概述 指纹识别的背景知识 我们手掌及其手指、脚、脚趾内侧表面的皮肤凸凹不平产生的纹路会形成各种各样的图案。这些纹路的存在增加了皮肤表面的摩擦力,使得我们能够用手来抓起重物。人们也注意到,包括指纹在内的这些皮肤的纹路在图案、断点和交叉点上各不相同,也就是说,是唯一的。依靠这种唯一性,我们就可以把一个人同他的指纹对应起来,通过对他的指纹和预先保存的指纹进行比较,就可以验证他的真实身份。这种依靠人体的身体特征来进行身份验证的技术称为生物识别技术,指纹识别是生物识别技术的一种。 目前,从实用的角度看,指纹识别技术是优于其他生物识别技术的身份鉴别方法。这是因为指纹各不相同、终生基本不变的特点已经得到公认。 最早的指纹识别系统应用与警方的犯罪嫌疑人的侦破,已经有30多年的历史,这为指纹身份识别的研究和实践打下了良好的技术基础。特别是现在的指纹识别系统已达到操作方便、准确可靠、价格适中的阶段,正快速的应用于民用市场。 指纹识别系统通过特殊的光电转换设备和计算机图像处理技术,对活体指纹进行采集、分析和比对,可以迅速、准确地鉴别出个人身份。 系统一般主要包括对指纹图像采集、指纹图像处理、特征提取、特征值的比对与匹配等过程。现代电子集成制造技术使得指纹图像读取和处理设备小型化,同时飞速发展的个人计算机运算速度提供了在微机甚至单片机上可以进行指纹比对运算的可能,而优秀的指纹处理和比对算法保证了识别结果的准确性。 指纹自动识别技术正在从科幻小说和好莱坞电影中走入我们实际生活中,就在今天,您不必随身携带那一串钥匙,只需手指一按,门就会打开;也不必记住那烦人的密码,利用指纹就可以提款、计算机登录等等。 指纹识别技术主要涉及四个功能:读取指纹图像、提取特征、保存数据和比对。 在一开始,通过指纹读取设备读取到人体指纹的图像,取到指纹图像之后,要对原始图像进行初步的处理,使之更清晰。 接下来,指纹辨识软件建立指纹的数字表示——特征数据,一种单方向的转换,可以从指纹转换成特征数据但不能从特征数据转换成为指纹,而两枚不同的指纹不会产生相同的特征数据。软件从指纹上找到被称为―节点‖(minutiae)的数据点,也就是那些指纹纹路的分叉、终止或打圈处的坐标位置,这些点同时具有七种以上的唯一性特征。因为通常手指上平均具有70个节点,所以这种方法会产生大约490个数据。 有的算法把节点和方向信息组合产生了更多的数据,这些方向信息表明了各个节点之间的关系,也有的算法还处理整幅指纹图像。总之,这些数据,通常称为模板,保存为1K大小的记录。无论它们是怎样组成的,至今仍然没一流种模板的标准,也没一流种公布的抽象算法,而是各个厂商自行其是。 最后,通过计算机模糊比较的方法,把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果。 指纹识别的原理和方法 二. 取得指纹图象 1.取象设备原理 取像设备分成两类:光学、硅晶体传感器和其他。

基于单片机的指纹识别系统研究

毕业设计开题报告 基于单片机的指纹识别系统研究 Research on Fingerprint Identification System Based Microcontroller 2013年12月日 开题报告填写要求 1.开题报告作为毕业设计答辩委员会对学生答辩资格审查的依据材料之一,应在指导教师指导下,由学生在毕业设计工作前期完成,经指导教师签署意见、专家组及学院教学院长审查后生效;

2.开题报告必须用黑墨水笔工整书写或按教务处统一设计的电子文档标准格式(可从教务处网页上下载)打印,禁止打印在其它纸上后剪贴; 3.毕业设计开题报告应包括以下内容: (1)研究的目的; (2)主要研究内容; (3)课题的准备情况及进度计划; (4)参考文献。 4.开题报告的撰写应符合科技文献规X,且不少于2000字;参考文献应不少于15篇,包括中外文科技期刊、教科书、专著等。 5.开题报告正文字体采用宋体小四号,1.5倍行距。附页为A4纸型,左边距3cm,右边距2cm,上下边距为2.5cm,字体采用宋体小四号,1.5倍行距。 6.“课题性质”一栏: 理工类:A..理论研究B.工程设计C..软件开发D. 应用研究E.其它 经管文教类:A.理论研究B.应用研究C.实证研究D.艺术创作E.其它 “课题来源”一栏: A.科研立项 B.社会生产实践 C.教师自拟 D.学生自选 “成果形式”一栏: A.论文 B.设计说明书 C.实物 D.软件 E.作品 毕业设计开题报告

1 研究目的 越来越多的电子设备和XX机构对更安全更方便的身份认证和访问控制的需求变得越来越紧迫,传统的机械钥匙、“口令+密码”以及智能卡等的保护措施存在着丢失、遗忘、复制及被盗用的隐患。假如在一次的电脑登陆时,如果用户忘记了他的密码,他就不能进入系统,则整个电脑系统就会面临灾难性的后果。密码被盗取和被破解则是另一件更为可怕的事情。实际上,盗取和破解密码的技术难度并不是很高,只要留意操作者输入口令时的击键动作就可以知道他的密码,可以通过作者的XX、年龄、生日、习惯等信息来猜测或者采用其他一些数学分析的手段来破解出相应的密码,甚至可以使用软件利用枚举法找出用户密码。这些问题都说明现行的系统安全技术已经面临严峻的挑战。 生物特征识别技术是一门利用人生理上的特征来识别人的科学。和传统的方法的不同在于,生物特征识别方法依据的是我们所拥有的东西,是我们的个体特性。生物特征分为身体特征和行为特点两类。身体特征包括:指纹、掌形、视网膜和虹膜、脸型、血管纹理和DNA等;行为特点包括:签名、语音、行走的步态、击打键盘的力度等。 根据生物特征识别技术采用的生物特征的不同,广泛应用的生物特征识别技术可以分为以下三类。 1.高级生物特征识别技术(High Biometrics),如:视网膜识别、虹膜识别和指纹识 别等。 2.次级生物特征识别技术(Lesser Biometrics),如:掌形识别、人脸识别、语音识 别、签名识别等。 3.深奥的生物特征识别技术(Esoteric Biometrics),如:血管纹理识别、人体气味 识别等。

指纹识别系统(文献综述)

指纹识别方法的综述 摘要 : 对在指纹的预处理和特征提取、指纹分类、指纹的匹配过程中的方向图、滤波器、神经网络等关 键性原理和技术做了详细的说明, 并对在各个过程中用到的方法做了进一步的比较, 讨论了各种方法的优越性。 0引言 自动指纹识别是上世纪六十年代兴起的,利用计算机取代人工来进行指纹识别的一种方法。 近年 来, 随着计算机技术的飞速发展,低价位指纹采集仪的出现以及高可靠算法的实现,更使得自动指纹识 别技术越来越多地进入到人们的生活和工作中, 自动指纹识别系统的研究和开发正在成为国 内外学术 界和商业界的热点。相对于其他生物特征鉴别技术例如语音识别及虹膜识别, 指纹识别具有许多独到 的优点 ,更重要的是它具有很高的实用性和可行性,已经被认为是一种理想的身份认证技术 有着十分 广泛的应用前景, 是将来生物特征识别技术的主流。 , 1指纹取像 图1 是一个自动指纹识别系统 AFIS(Automated Fingerprint Identification System)的简单流程。 指纹取像→ 图像预处理 → 特征提取 → 指纹识别 ↓↑ 数据库管理———— 将一个人的指纹采集下来输入计算机进行处理是指纹自动识别的首要步骤。指纹图像的获取主要利用设备取像,方便实用 , 比较适合 AFIS 。利用设备取像的主要方法又利用光学设备、晶 体传感器和超声波来进行。光学取像设备是根据光的全反射原理来设计的。晶体传感器取像是根据谷线和脊线皮肤与传感器之间距离不同而产生的电容不同来设计的。超声波设备取像也是采用光波来取像,但由于超声波波长较短,抗干扰能力较强,所以成像的质量非常好。 2图像的预处理与特征提取 无论采取哪种方法提取指纹 ,总会给指纹图像带来各种噪声。预处理的目的就是去除图像中的 噪 音,把它变成一幅清晰的点线图 ,以便于提取正确的指纹特征。预处理是指纹自动识别过程的第 一步 , 它的好坏直接影响着指纹识别的效果。常用的预处理与特征提取( Image Preprocessing and Feature Ex2 t raction) 方法的主要步骤包括方向图计算、图像滤波、二值化、细化、提取特征和后处理。 当然这些步骤 可以根据系统和应用的具体情况再进行适当变化。文献[ 1 ] 提出了基于脊线跟踪的方法能够

基于51单片机的指纹密码锁设计

基于51单片机指纹电子密码锁设计 摘要 随着人民生活水平的提高,如何实现家庭防盗这一问题也变得尤其突出,传统的机械锁由于其构造简单,安全性低,无法满足人们的需求。随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器,所以具有防盗报警功能的电子密码锁控制系统逐渐代替传统的机械式密码控制系统,克服了机械式密码锁控制的密码量少,安全性能差的缺点。 在传统的身份认证中,我们往往使用密码加密法,但是这种方法只是"防君子不防小人"。在高明的黑客眼里,由几个字符组成的密码脆弱得不堪一击。现在,科技的发展让我们有了新的选择——生物识别技术。将生物识别技术应用于笔记本、门锁等方面,可以对文件、财产起保护作用,并且可以进行身份识别。生物识别技术的发展主要起始于指纹研究,它亦是目前应用最为广泛的生物识别技术。 本设计开发了一款基于单片机的指纹识别电子密码锁系统。该系统以STC89C52单片机作为模块核心,通过串口通信控制ZFM-60指纹模块实现录取指纹并存储指纹数据,并通过HS12864-15C液晶显示比对流程及比对结果,辅以直流继电器与发光二极管模拟开锁的动作。本系统具有体积小、性价比高、传输速度快、适合家庭及单位使用。 关键词:单片机,密码锁,指纹识别

51 single fingerprint-based electronic code lock design ABSTRACT With the improvement of people's living standards, how to achieve family security issue has become particularly prominent, the traditional mechanical locks because of its simple structure, low security, can not meet people's needs. As electronic products to intelligent miniaturized and the continuous development of SCM has become the electronic product research and development preferred controller, the electronic lock control system with anti-theft alarm function gradually replace the traditional mechanical control systems with code, overcome password less, poor safety performance shortcomings of mechanical lock control. In traditional identity, we tend to use password encryption method, but this method only "anti-anti-villain is not a gentleman." In the eyes of clever hackers, password consists of several characters fragile too vulnerable. Now, the development of science and technology so that we have a new option - biometrics. The biometric technology used in notebook, door locks, etc., they can file for protection of property, and can be identifiable. biometric technology in fingerprint primary origin research, it is also the most widely used biometric technology.

基于MATLAB的指纹识别系统(开题报告)

重庆工商大学 毕业论文(设计)开题报告计算机科学与信息工程学院 (系)测控技术与仪器专业(本科) 2006级1班课题名称:基于MATLAB的指纹图像预处理系统设计 毕业论文(设计)起止时间: XX年XX 月XX 日~ XX 月XX日(共XX周) 学生姓名:XX 学号:XX 指导教师: XX 报告日期: XX学毕业论文(设计)开题报告3-1

1.本课题所涉及的问题在国内(外)的研究现状综述 1、指纹识别及其优点。人手的指纹即为手指皮肤上的花纹, 它是人的一种生物特征。该特征具有独特的性质, 其花纹的细节由细微纹点和纹脊的起点、终点、分叉、结合等组成。正是这些无穷无尽的细节特征组合构成了指纹 10, 几乎为零, 这就构成了指纹的第一大特的唯一性。事实上, 甚至包括双胞胎, 世界上两个指纹相同的几率<1/9 点。指纹特征的另外几大特点是: 不变性——即指纹的图案永远不会改变; 与主体永不分离性——即指纹不存在丢失、遗忘、被窃取的可能; 指纹的使用比起其它证卡来说更快捷、安全、准确、无干扰, 可实现快速登录注册, 系统兼容性好, 也就是说可以独立或者通过联网构成系统且很容易并入各类证卡和定义识别系统中。因此, 指纹识别技术的应用范围极广(除化学家和矿工外均能鉴定)。 2、指纹自动识别系统的发展现状。指纹自动识别系统是集计算机、网络、光电技术、图像处理、智能卡、数据库技术等于一体的综合高技术。目前的指纹自动识别系统是采用先进的光电识别办法采集一个指纹信息, 并把它变成可以和已由计算机处理过的暗码相比对的代码。这些代码都经过加密处理, 然后经独特的相关算法进行识别判断, 在算法上有的采用是一个指纹的全部图案, 而有的是指纹的特殊细节。 目前的自动指纹识别系统已具有如下特点:(1) 可靠性: 采用独特的容错技术, 既使指纹有破坏, 即指纹不全或指纹随时间有自然的变化时也不影响正确识别。(2) 快捷性: 大多数系统鉴别时间仅需1~3s, 登录注册一个新客户只需1m in 的时间。(3) 灵活性: 一个指纹信息的代码可以压缩到几十个字节到几百个字节, 因此可以存放在一个磁条上或者一张两维条码卡上或者IC 卡上, 甚至几个指纹代码可以存在一张智能卡上。当然, 成千上万的代码可以存放在局域或网络化数据库中, 这样, 代码可以沿网络迅速传输, 因而可以灵活的构成各类系统, 即可以独立使用或集成到一个大范围的出入口控制或者安全处理系统如证卡存档识别系统中。( 4) 可接受性: 一个因素是目前的系统具有高性能; 另一个因素是目前的系统设计已考虑到人类工程学设计, 因而易被用户接受。(5) 安全性: 所有个人代码都经过了特殊加密, 通过所存储的代码不可能复原原指纹, 彻底避免了指纹的冒用, 因此既使证卡丢失, 也不存在安全问题。(6) 方便性: 目前出现的各类指纹识别系统一般外观设计精巧、结实, 采用了精密独特的光电系统, 具有LD 或全程液晶提示, 备有多种安装模式。(7) 兼容性: 可以与现有的各类系统兼容, 可实现全自动化的识别。(8) 实时性: 可实现完整的跟踪、实时报警功能。正是由于目前已经开发出了具有如上特点的指纹识别技术, 因此以此为基础的个人识别技术, 即证卡、代码、指纹的综合动态模式组合, 将可以对不同的应用场所提供不同的安全等级。 3、市场前景。自动指纹识别系统有着极其广阔的应用前景。众所周知, 指纹识别最早是在罪犯鉴别中应用, 它对于提高侦破手段、震慑罪犯、打击刑事犯罪成为强有力的武器并起到了重要作用。根据目前的了解,A F IS 的其它适用场所为: 政府各类机要部门(例如档案馆(室)、机要室)、国家重点实验室及生产重地、机场、军事要地(例如基地、仓库)、重要军事装备或关键设备的启动控制、银行金库、金融系统、代保管库、博物馆、珍宝馆、高级住宅、高级宾馆等重要门禁或入口控制、汽车门锁等。除此之外, 另一大潜在应用前景是: 自动取款机(A TM )、信用卡、驾驶执照、身份证、医疗健康卡、移民登记、计算机系统安全、机械登记等方面。1、指纹锁,指纹锁可以装在门里、车内、保险箱柜的内部, 外面无锁眼, 从而避免了撬锁, 可广泛用于金库、保安、银行、出纳、自动门、百叶门、保险柜、电控装置等门禁系统中。2,指纹卡,国际上偷盗使用卡和利用信用卡进行诈骗犯罪活动越来越猖獗, 仅1995 年英国因此损失8 千万英镑, 法国损失3100 万英镑, 目前我国信用卡用户已达2~ 3 千万, 利用信用卡犯罪我国也在呈不断上升趋势。我国政府打算用10 年左右的时间, 在全国400 多个城市的3亿人中推广信用卡, 预计发行量将达到2 亿张。目前我国IC 卡年产量已达6 千万张, 生产能力已达1 亿张, 全世界到2000 年IC 卡的总需求超过38 亿张, 我国需求量为年均2 千万张。目前, 国内各种磁卡、IC 卡系统已十分普遍。例如: 大庆市1996 年已拥有医疗保险IC 卡80 万张, 全国联网的200 电话磁卡已有上百万用户。由于指纹识别技术的诸多优点, 可以预料, 一方面指纹卡将会在一切需要验证身份的场所发挥越来越重要的作用, 其应用领域将会进一步拓宽; 另一方面, 由于市场的推动, 指纹识别技术也会不断提高, 在其识别可靠性、速度、成本等方面进一步朝实用化迈进。我们期待着指纹识别这一高技术在人们的生活中起到应有的越来越重要的作用。

用单片机实现一个指纹识别系统的设计方案

用单片机实现一个指纹识别系统的设计方案 随着指纹识别在智能手机上面的普及,指纹识别技术在越来越多的场合中得到应用。除了手机应用之外,在移动支付、门禁系统、智能家庭等嵌入式场景中也逐渐普及开来。在系统实现上面,智能手机本身拥有强大的计算能力和丰富的内存资源,实现指纹识别并不困难,但在嵌入式系统中特别是基于MCU的应用场合,其运算能力、内存资源等都受到限制,本文介绍了一种基于单片机系统的指纹识别方案和设计要点。 如上 在具体实现上面,由于指纹识别算法涉及较多的浮点运算,以及需要暂存指纹点阵的原始数据和中间运算数据,故对于运算能力和存储空间有硬性的要求,在目前主流的单片机架构中Cortex-M4架构集成FPU浮点处理单元,在100MHZ主频下,其浮点数运算能力可以达到要求。指纹识别算法代码编译后占用上百K字节的代码空间,考虑到WiFi网络连接、应用层代码等整体上以1MB左右的Flash代码空间为宜,数据存储的需求以512KB的SRAM空间为宜。系统工作时,在指纹识别过程中需要强大的运算能力,而在没有指纹按压的时候则需要运行在低功耗状态,以适应嵌入式系统对功耗的要求。 在我们的方案中,选择了具有XIP特性的MCU,把代码存放在外置SPI Flash中并可以在系统执行,从而大大扩展了代码存储空间。外置SPI Flash中的代码在执行中由于需要内部Cache缓存,故执行速度略低。对于识别算法的核心代码,则可以在Boot阶段拷贝到SRAM中运行,从而提升运行速度。XIP + SRAM的代码空间分配方案兼顾了性能和成本,是此设计的一个亮点。 指纹识别芯片是系统实现的核心部件,当前比较主流的技术指标,要求指纹识别芯片基于电容技术、支持活体检测(Live Finger DetecTIon)、按压式、

指纹自动识别系统在侦查中的应用(1)

指纹自动识别系统在侦查中的应用 作者:张宝清 摘要:随着科技的不断发展,计算机在公安系统中也发挥着日益重要的作用。对于侦查工作而言,计算机指纹自动识别系统的出现改变了传统查找比对指纹的方法,提高了指纹查询比对的效率与质量,快速准确地为破获各类案件提供科学的依据,为侦察方向的确定提供线索。本文将就指纹自动识别系统在侦查中的应用进行探讨。 关键字:指纹识别、自动、效率、侦查、准确 指纹识别系统是一个典型的模式识别系统,包括指纹图像获取、处理、特征提取和比对等模块。通过专门的指纹采集仪可以采集活体指纹图像。目前,指纹采集仪主要有活体光学式、电容式和压感式。对于分辨率和采集面积等技术指标,公安行业已经形成了国际和国内标准,但其他还缺少统一标准。可以通过扫描仪、数字相机等获取指纹图像。 一、指纹数据库的建立 1、扩大违法犯罪嫌疑人指纹卡收集范围,建立高质量的指纹数据库。指纹采集工作是整个工作的基础和首要环节,必须全警动员,全员采集,切实将十指指纹的采集工作列入一项日常业务工作并落到实处。在尽可能多采集指纹的基础上,严把指纹采集质量关,十指捺印指纹质量的好坏,直接影响着现场指纹查询的速度、准确度及查中几率。因此,各级公安机关要提高认识,加强领导,将指纹信息的搜集作为民警目标考核的一项标准,使每个民警在日常工作中能够自觉地搜集指纹信息,确保指纹采集的数量。业务部门必须采取有效措施,搞好捺印技术培训,确保指纹的捺印质量。 2、提高现场指纹的提取率和质量,保证质量、最大限度地入库现场指纹是指纹自动识别系统发挥破案作用的首要条件,勘查人员必须提高现场指纹的提取率和质量。做到随时收集随时入库,并要充分利用所有具有鉴定条件的现场指纹。 二、指纹自动识别系统应用中的注意事项 1、由于每次捺印的方位不完全一样,着力点不同会带来不同程度的变形,又存在大量模糊指纹,如何正确提取特征和实现正确匹配,是指纹识别技术的关键。指纹识别技术涉及图像处理、模式识别、机器学习、计算机视觉、数学形态学、小波分析等众多学科。

指纹识别

指纹识别技术 指纹识别技术把一个人同他的指纹对应起来,通过比较他的指纹和预先保存的指纹进行比较,就可以验证他的真实身份。每个人(包括指纹在内)皮肤纹路在图案、断点和交叉点上各不相同,也就是说,是唯一的,并且终生不变。依靠这种唯一性和稳定性,我们才能创造指纹识别技术 一、简介 1)背景:1809年Bewick把自己的指纹作为商标。1823年解剖学家Purkije将指纹分为九类。 1880年,Faulds 在《自然》杂志提倡将指纹用于识别罪犯。1891年Galton提出著名的高尔顿分类系统。之后,英国、美国、德国等的警察部门先后采用指纹鉴别法作为身份鉴定的主要方法。随着计算机和信息技术的发展,FBI和法国巴黎警察局于六十年代开始研究开发指纹自动识别系统(AFIS)用于刑事案件侦破。目前,世界各地的警察局已经广泛采用了指纹自动识别系统。九十年代,用于个人身份鉴定的自动指纹识别系统得到开发和应用。 2)简介:指纹识别:即指通过比较不同指纹的细节特征点来进行鉴别。由于每个人的指纹不同,就是同一人的十指之间,指纹也有明显区别,因此指纹可用于身份鉴定。其实,我国古代早就利用指纹(手印)来签押。1684年,植物形态学家Grew发表了第一篇研究指纹的科学论文。 每个人包括指纹在内的皮肤纹路在图案、断点和交叉点上各不相同,呈现唯一性且终生不变。据此,我们就可以把一个人同他的指纹对应起来,通过将他的指纹和预先保存的指纹数据进行比较,就可以验证它的真实身份,这就是指纹识别技术。 指纹识别主要根据人体指纹的纹路、细节特征等信息对操作或被操作者进行身份鉴定,得益于现代电子集成制造技术和快速而可靠的算法研究,已经开始走入我们的日常生活,成为目前生物检测学中研究最深入,应用最广泛,发展最成熟的技术。 二、原理 指纹其实是比较复杂的。与人工处理不同,许多生物识别技术公司并不直接存储指纹的图象。多年来在各个公司及其研究机构产生了许多数字化的算法(美国有关法律认为,指纹图象属于个人隐私,因此不能直接存储指纹图象)。但指纹识别算法最终都归结为在指纹图象上找到并比对指纹的特征。 有效的指纹辨识系统不仅仅依赖于辨识算法,还有其他的一些重要因素,这里称之为“系统问题”。包括注册和辨识过程,速度和工作学、用户信息的反馈、排斥欺骗和安全考虑。为了得到较好的识别率,重要的是在注册时尽量获得最好的指纹图象,这是因为注册一般只进行一次,而以后的辨识是经常的。一个较好的指纹识别系统应要求用户的指纹在登记指纹时多次获取指纹,然后,把最好的指纹或每次获得的指纹的综合的结果作为注册的指纹。 又一个方法可以作为指纹系统设计时的考虑,即我们可以多次取像直到得到一个确定的匹配,但这个过程在降低了拒判率的同时,提高了误判率。辨识不仅仅只用一个手指的指纹,可以用两个或更多的手指的指纹,这样可以增强识别率,当然这样一来会浪费用户的许多时间。 系统的工作学是很重要的。例如:在个人识别系统中,人们愿意等待时间的极限,这个极限时间根据特定的应用而不同,依赖于在处理的过程中人们正在做什么。例如:刷卡或输入ID号的过程,从0.5-1.5秒被认为是可接受的时间;另外,拒判而重复次数不应超过3次。 验证和辨识的过程、取像设备的设计拒判率和误判率关系的设定,为了尽可能的获得高质量的指纹图象而提示

毕业设计(论文)-基于51单片机的指纹识别

随着现代化各种科学新技术的快速发展,在日常生活中,我们需要各种身份认证和各种密码认证,还有对各种设备配备钥匙,对保险柜安装防盗系统等等,社会的进步,科技的发展,促使传统的安全系统的抵御能力越来越薄弱。因此,生物特征识别应用而生,开始走进我们身边的各种安全系统,指纹识别作为生物特征识别的一个典型应用已经得到很广泛的应用和认可,指纹特征具有唯一性,是每个人终生不变的特征之一,并且各个人的各个指纹都不一样。本系统采用89C52RC单片机作为主芯片,通过与指纹识别模块FM-180之间通过串口通信方式的通信,采用液晶12864作为显示器,加上简单的外围电路,如按键输入、LED灯报警电路、蜂鸣器电路,最后通过编写软件和制作硬件,实现一个可以通过单片机对指纹的录入,识别,删除等功能操作的指纹识别系统。 关键词指纹识别系统;单片机89C52;液晶12864

With the rapid development of modern science a variety of new technologies, in everyday life, we need a variety of authentication and a variety of password authentication, as well as a variety of devices with keys for the safe installation of security systems, etc., social progress the development of technology, to promote the traditional security system resilience increasingly weak. Thus, biometric applications, born around us began to enter various security systems, biometric fingerprint identification as a typical application has been very widely used and recognized, unique fingerprint characteristics, life is not for everyone one variable characteristics, and each person's fingerprints are not the same individual. The system uses 89C52RC microcontroller as the main chip, it passes between the fingerprint recognition module FM-180 serial communication with the communication method by using a liquid crystal display as 12864, plus simple peripheral circuits, such as key input, LED light alarm circuit, buzzer circuit, and finally through the preparation and production of software, hardware, you can implement a microcontroller on the fingerprint input, recognition, and delete functions operate fingerprint identification system. Key words Fingerprint identification system;SCM 89C52;LCD 12864

指纹锁指纹识别技术的基本原理介绍

官网:https://www.360docs.net/doc/c98011704.html, 指纹锁指纹识别技术的基本原理介绍 指纹锁的识别灵敏度是指纹锁产品性能和用户体验的重要指标之一,但现实生活中指纹锁识别指纹时总容易受到外接因素的影响。比如手指多汗,或指纹采集窗太潮湿会导致指纹锁识别失灵,这究竟是什么原因呢,英迪隆智能指纹锁为你简单解答一下。 指纹是人的手指正面皮肤上有规律排列却又不尽相同的纹线。指纹中的中断、分叉或转折而形成的点就是细节特征点,而这些细节特征点,就提供了指纹唯一性的确认信息。而指纹识别传感器就是通过记录指纹纹路的方向,并将其数字化,形成一个独一无二的钥匙,并以解锁。 目前指纹锁采集指纹的方式主要有两种,光学式和电容式。光学指纹头通过计算光线在指纹的沟和脊与采集窗的不同距离而获取指纹信息,当手指有汗渍或采集窗有水分,就会影响光线的传递与距离,导致所获取的指纹信息与原来储存的信息有误,因此指纹锁识别失灵。 而电容式指纹锁虽然比光学指纹锁更先进,但也存在受潮后识别失灵的情况。说起电容式指纹锁,其原理大家应该可以联想一下电容屏的工作原理,都是利用人体的电流感应进行工作的。 电容式指纹锁指纹识别传感器周边均镀上了狭长的电极,当手指按到指纹采集窗时,由于人体是一个电场,用户指纹纹路和传感器表面会形成一个耦合电容,对于高频电流来说,电容是直接导体,于是手指就会从接触点吸走一个很小的电流。这个电流分从周边的电极中流出,并且流经周边电极的电流与指纹到周边的距离成正比,控制器通过对电流比例的精确计算,得出触摸纹路相关数据。 简单来说就是用户的指纹摁到哪儿,哪儿就“通电”“漏电”了,传感器就有了反应了。所以,当手指有汗或者采集窗有水渍时,由于水是导电的,用户使用指纹识别时,电流就会被影响,所以上面的计算就不准了,自然识别失灵了。 因此,当指纹锁用户在首次录入指纹时,最好保持手指与指纹采集窗的干燥与干净,好录入正确干净的指纹;当用户使用指纹解锁时,擦干手指和采集窗就可以避免指纹锁失灵的情况。

指纹识别程序和原理图

#include #include #define uchar unsigned char #define uint unsigned int #define Dbus P0 #define buffer1ID 0x01 #define buffer2ID 0x02 #define queren 0x88 #define tuichu 0x84 #define shanchu 0x82 sbit B0=B^0; sbit B7=B^7; sbit jidianqi=P3^6; sbit RS=P2^2; sbit RW=P2^1; sbit E1=P2^0; sbit LEDK=P3^4; //控制背光 sbit SCLK=P2^3; sbit IO=P2^5; sbit RST=P2^4; uchar code ta[8]={0x00,0x51,0x09,0x10,0x05,0x02,0x11,0xbe}; uchar data a[7]; // 秒分时日月星期年 uchar dz[4]; //存键输入值 uchar mima[7]; uchar mimaID[6]={1,2,3,4,5,6}; uchar data K; uchar data Key; uint PageID; uchar data querenma; uchar sum[2]; int summaf,summas; uchar code nian[]={"年"}; uchar code yue[]={"月"}; uchar code ri[]={"日"};

指纹识别方法

指纹鉴别检验和采集的几种方法 一、处理指纹的程序 1、是采用光学检验,通过普通光源、多波段光源、紫外光源、偏正光来发现、激发、提取、固定指纹; 2、是采用物理检验,一般采用典、粉墨等; 3、是采用物理化学方法,比如用真空镀膜、VDM等;四是采用化学方法,用DFO、茚三酮、502熏显等。这使得发现提取指纹的成功率大大提高,便于有效调察刑事犯罪。 澳大利亚科学家开发出一种化学喷雾剂,能够帮助警方提取犯罪嫌疑人遗留在粗糙表面上的指纹,以往这类指纹是很难获取的。 澳大利亚理工大学的凯瑟林·弗林与同事以及澳大利亚警方将把他们的研究测试结果发表在法医学杂志上。这一成果现已在悉尼召开的庆祝指纹术引入澳大利亚100周年的纪念会议上公布。 指纹是警方鉴定和识别罪犯的最重要手段之一,但以往只能在光滑表面上提取,并需往指纹上撒诸如铝粉和二氧化钛粉末那样的细粉,它们吸附在有粘性的指纹表面,使指纹显现出来。这类细粉物美价廉,易于使用,但当刷掉指纹上附着的粉末后,会损坏10%的指纹,影响识别鉴定效果;此外,一旦指纹失去粘性,这种方法就失灵了。而对其最大的限制还是这种方法只适用于光滑及无孔的不渗水表面,像砖头岩石这类粗糙表面,粉末提取术就无能为力了。 科学家以往曾提议使用含有五氟化碘或四氧化钌的喷雾剂,来提取遗留在不同表面上的指纹,这种喷雾剂易于使用于粗糙表面,且能大面积快速使用。但一直未有相关的成果报道。凯瑟林及其同事测试了粉末和喷雾剂的指纹提取效果,为澳大利亚警方提供了第一份全面的、不同指纹提取媒介在各种表面的最佳提取效果指南。他们发现,目前还没有能适用于所有表面的指纹提取术。对于大多数表面,粉末法仍然有效,化学喷雾剂则可扩大指纹的提取范围,在一些特殊表面建立奇功。在玻璃和处理过的木头表面,粉末法更为适用;在壁纸、乙烯基和砖面上,化学喷雾剂更有效。尤其在一些非常粗糙的表面,利用化学喷雾剂能获得很清晰的指纹,有利于警方破案。因为,即使在室外犯罪现场的砖块及岩石上,也有可能留下有破案价值的指纹。 但这种化学喷雾剂对人体有害,使用时需要注意进行有效防护和在使用后及时清洁现场。二、残留指纹的分类 第一类是明显纹,就是目视即可见的纹路。如手沾油漆、血液、墨水等物品转印而成,通常都是印在指纹卡上成为基本资料; 第二类是成型纹,这是指在柔软物质,如手接触压印在蜡烛、黏土上发现的指纹; 第三类是潜伏指纹,这类指纹是经身体自然分泌物如汗液,转移形成的指纹纹路,目视不易发现,是案发现场中最常见的指纹。潜伏指纹往往是手指先接触到油脂、汗液或尘埃后,再接触到干净的表面而留下,虽然肉眼无法看到这些指纹,但是经过特别的方法及使用一些特别的化学试剂加以处理,即能显现出这些潜伏的指纹。 三、指纹鉴别检验和采集的几种方法 鉴识人员最常接触到的指纹是潜伏纹。如果指纹是留在金属、塑胶、玻璃、磁砖等非吸水性物品的表面,检验方法就比较容易。通常可以用粉末法,选择颜色对比大的粉末,撒在物品表面提取出完整的指纹;另一方法是磁粉法,以微细的铁粉颗粒,用磁铁作为刷子,来回刷扫,显现指纹。 如果指纹留在纸张、卡片、皮革、木头等吸水性物品的表面,必须经过化学处理才能在化

相关文档
最新文档