指纹识别系统-实验报告-

指纹识别系统-实验报告-
指纹识别系统-实验报告-

实验报告《指纹识别系统》

【实验名称】指纹识别系统

【实验目的】 1.对指纹识别系统的图像预处理有一定的掌握;

2.对后续操作只简单了解;

3.通过功能模块实现指纹识别系统。

【实验内容】 1.系统需求分析;

2.系统设计;

3.系统实现。

【实验步骤】

一、系统需求分析

1、目的与背景

在网络化时代的今天,我们每个人都拥有大量的认证密码,比如开机密码、邮箱密码、银行密码、论坛登录密码等;并配备了各种钥匙,如门钥匙,汽车钥匙,保险柜钥匙等。这些都是传统的安全系统所采用的方式,随着社会发展,其安全性越来越弱。而我们的生活随时都需要进行个人身份的确认和权限的认定,尤其是在信息社会,人们对于安全性的要求越来越高,同事希望认证的方式简单快速。为了解决这一问题,人们把目光转向了生物识别技术,希望能借助人体的生理特征或行为来进行身份识别。这样人们可以不用携带大串钥匙,不用费心去记各种密码。另外,生物特征具有唯一性,不可复制性,例如指纹。生物特征识别技术所研究的生物特征包括脸、指纹、手掌纹、虹膜、视网膜、声音(语音)、体形。而人类在追寻文档、交易及物品的安全保护的有效性与方便性经历了三个阶段的发展。第一阶段也就是最初

始的方法,是采用大家早已熟悉的各种机械钥匙。第二阶段是由机械钥匙发展到数字密钥如密码或条形码等。第三阶段是利用人体所固有的生物特征(指纹识别)来辨识与验证身份。生物识别(指纹识别)是当今数字化生活中最高级别的安全密钥系统。对生物识别(指纹识别)技术来说,被广泛应用意味着它能在影响亿万人的日常生活的各个地方使用。通过取代个人识别码和口令,生物识别(指纹识别)技术可以阻止非授权的"访问",可以防止盗用ATM、蜂窝电话、智能卡、桌面PC、工作站及其计算机网络;在通过电话、网络进行的金融交易时进行身份认证;在建筑物或工作场所生物识别技术(指纹识别)可以取代钥匙、证件、图章等。生物识别(指纹识别)技术的飞速发展及其广泛应用将开创个人身份鉴别的新时代!

指纹识别

二.系统设计

1.总体设计及系统架构

本系统有两大功能:指纹登记和指纹比对。指纹登记主要包括指纹采集、指纹图像预处理、特征点提取、特征模板存储和输出显示;指纹比对的前三步与指纹登记相同,但在特征点提取后,是将生成的特征模板与存储在指纹特征模板库中的特征模板进行特征匹配,最后输出显示匹配结果。自动指纹识别系统的基本原理框图如图1所示。

图1自动指纹识别的基本原理框图

本系统在结构上分为三层:系统硬件平台、操作系统和指纹识别算法。系统层次结构如图2

图2系统层次

最底层——系统硬件平台,是系统的物理基础,提供软件的运行平台和通信接口。系统的硬件平台在Altera的FPGA Cyclone嵌入式系统开发板上实现,指纹传感器采用美国Veridicom公司的FPS200。FPS200可输出大小为256×300像素、分辨率为500 dpi的灰度图像。

第二层是操作系统,采用μC/OSII。μC/OSII是一个基于抢占式的实时多任务内核,可固化、可剪裁、具有高稳定性和可靠性。这一层提供任务调度以及接口驱动,同时,通过硬件中断来实现系统对外界的通信请求的实时响应,如对指纹采集的控制、对串口通信的控制等。这种方式可以提高系统的运行效率。

最上层是指纹识别核心算法的实现。该算法高效地对采集到的指纹进行处理和匹配。采用C语言在FPGA的集成开发环境(IDE)中实现。

2 .系统硬件的设计与实现

2.1 FPGA嵌入式软核处理器简介

FPGA嵌入式处理器是Altera公司于2004年6月推出的第二代用于可编程逻辑器件的可配置的软核处理器,性能超过200 DMIPS。FPGA是基于哈佛结构的RISC通用嵌入式处理器软核,能与用户逻辑相结合,编程至Altera的FPGA中。处理器具有32位指令集,32位数据通道和可配置的指令以及数据缓冲。它特别为可编程逻辑进行了优化设计,也为可编程单芯片系统(SoPC)设计了一套综合解决方案。FPGA处理器系列包括三种内核:一种是高性能的内核(FPGA/f);一

种是低成本内核(FPGA/e);一种是性能/成本折中的标准内核(FPGA/s),是前两种的平衡。本系统采用标准内核。

FPGA 处理器支持256 个具有固定或可变时钟周期操作的定制指令;允许FPGA设计人员利用扩展CPU指令集,通过提升那些对时间敏感的应用软件的运行速度,来提高系统性能。

2.2 硬件平台结构

系统的硬件平台结构如图3所示。

图3系统硬件平台结构

本系统使用FPS200指纹传感器获取指纹图像。FPS200是电容式固态指纹传感器,采用CMOS技术,获取的图像为256×300像素,分辨率为500 dpi。该传感器提供三种接口方式:8位微机总线接口、集成USB全速接口和集成SPI接口。本系统采用集成SPI接口。指纹采集的程序流程是:首先初始化FPS200的各个寄存器,主要是放电电流寄存器(DCR)、放电时间寄存器(DTR)和增益控制寄存器(PGC)

的设置;然后查询等待,指纹被FPS200采集进入数据寄存器后,通过DMA存入内存。由于从指纹传感器采集到的指纹图像数据在80 KB 左右,以DMA方式存入片内RAM。FPGA对指纹图像数据进行处理后,生成指纹特征模板,在指纹登记模式下,存入片外Flash中;在指纹比对模式下,与存储在Flash中的特征模板进行匹配,处理结果通过LCD和七段LED显示器输出显示。

本系统的硬件平台主要是在Altera的FPGA Cyclone嵌入式开发板上实现,选用Altera的Cyclone版本的FPGA开发套件,包括FPGA处理器、标准外围设备库、集成了SoPC Builder系统设计工具的QuartusII开发软件等。系统的主要组件FPGA的标准内核、片内存储器、SPI、UART、DMA控制器、并行I/O接口、Avalon总线、定时器等都集成在一块Altera的Cyclone FPGA芯片上,使用SoPC Builder来配置生成片上系统。

SoPC Builder是功能强大的基于图形界面的片上系统定义和定制工具。SoPC Builder库中包括处理器和大量的IP核及外设。根据应用的需要,本系统选用FPGA Processor、On Chip Memory、Flash Memory(Common Flash Interface)、SPI、JTAG UART、DMA、Interval timer、LCD PIO、Seven Segment PIO、Avalon Tri State Bridge等模块。对这些模块配置完成后,使用SoPC Builder进行系统生成。SOPC Builder自动产生每个模块的HDL文件,同时自动产生一些必要的仲裁逻辑来协调系统中各部件的工作。

3.系统软件的设计与实现

本系统的指纹图像处理及识别算法采用C语言在FPGA IDE中实现。指纹识别算法的流程如图4所示。

图4指纹识别算法流程

背景分离是将指纹区与背景分离,从而避免在没有有效信息的区域进行特征提取,加速后续处理的速度,提高指纹特征提取和匹配的精度。采用标准差阈值跟踪法,图像指纹部分由黑白相间的纹理组成,灰度变化大,因而标准差较大;而背景部分灰度分布较为平坦,标准差较小。将指纹图像分块,计算每个小块的标准差。若大于某一阈值(本文取20),则该小块中的所有像素点为前景;

否则,为背景。

方向图是用纹线的方向来表示原来的纹线。本文采用块方向图,将源指纹图像分成小块,使用基于梯度值的方向场计算方法,计算出每个小块的脊线方向。

图像增强的目的是改善图像质量,恢复脊线原来的结构;采用方向滤波,设计一个水平模板,根据计算出的方向图,在每个小块中将水平模板旋转到所需要的方向进行滤波。

图像的二值化是将脊线与背景分离,将指纹图像从灰度图像转换为二值图像。

二值化后的图像经过细化,得到纹线的骨架图像。细化采用迭代的方法,使用Zhang Suen并行细化算法,可对二值图像并行处理。

特征提取阶段,选择脊线端点和分叉点作为特征点,记录每一个特征点的类型、位置和方向信息,从而得到指纹的特征点集。但由于在指纹扫描和预处理阶段会引入噪声,产生大量伪特征点,因此需要进行伪特征点的去除。去除伪特

征点后的特征点集作为特征模板保存。

特征匹配阶段采用基于特征点的匹配算法,通过平移和旋转变换实现特征点的大致对齐重合,计算坐标变换后两个模板中的特征点的距离和角度。如果小于某一阈值(本文的距离和角度阈值分别取5个像素和10°),则认为是一对匹配的特征点。计算得出所有匹配的特征点对后,计算匹配的特征点占模板中所有特征点的百分比S。根据系统的拒识率(FRR)和误识率(FAR)要求设置阈值TS。如果S大于或等于阈值TS,则认为是同一指纹;否则,匹配失败。

4.系统程序语言

用C语言和C++语言进行编程,程序各部分成员与方法如下:

三.系统实现

打开程序

匹配成功

匹配失败

四、代码实现

1.

#include

#include

#include

#include"thin_image.h"

int nCol,nVS;

void readBmp(char* bmpFile)

{

FILE *bmpInput, *rasterOutput;

sImage originalImage;

unsigned char someChar;

unsigned char* pChar;

int nColors;

long fileSize;

int vectorSize, r, c;

/* initialize pointer */

someChar = '0';

pChar = &someChar;

printf("Reading filename %s\n", bmpFile);

/*--------READ INPUT FILE------------*/

bmpInput = fopen(bmpFile, "rb");

fseek(bmpInput, 0L, SEEK_END);

rasterOutput = fopen("data.txt","w");

/*--------GET BMP DATA---------------*/

originalImage.cols = (int)getImageInfo(bmpInput, 18, 4); originalImage.rows = (int)getImageInfo(bmpInput, 22, 4); fileSize = getImageInfo(bmpInput, 2, 4);

nCol = nColors = getImageInfo(bmpInput, 46, 4);

nVS = vectorSize = fileSize - (14 + 40 + 4*nColors);

/*-------PRINT TO SCREEN-------------*/

printf("Width: %d\n", originalImage.cols);

printf("Height: %d\n", originalImage.rows);

printf("File size: %ld\n", fileSize);

printf("# Colors: %d\n", nColors);

printf("Vector size: %d\n", vectorSize);

image->Hres = originalImage.cols;

image->Vres = originalImage.rows;

image->Size = fileSize;

image->i = new Pixel[fileSize];

image->p = new Pixel*[fileSize];

for(int i=0;iHres;i++)

image->p[i] = new Pixel[image->Vres];

printf("%d \n",image->Hres);

/*----------READ RASTER DATA---------*/

fseek(bmpInput, (54 + 4*nColors), SEEK_SET);

int count = 0;

for(r=0; r<=originalImage.rows - 1; r++)

{

for(c=0; c<=originalImage.cols - 1; c++)

{

count++;

fread(pChar, sizeof(char), 1, bmpInput);

image->p[r][c] = int(*pChar)/255;

// inverting the image

if(image->p[r][c]==1)

{

image->p[r][c]=0;

}

else

{

image->p[r][c]=1;

}

fprintf(rasterOutput, "(%d, %d) = %d\n", r, c, int(*pChar)/255); }

}

fclose(bmpInput);

fclose(rasterOutput);

}

void writeBmp(char* bmpFile)

{

FILE *bmpOutput, *rasterOutput, *oldFile;

sImage originalImage;

unsigned char someChar;

unsigned char* pChar;

int nColors;

long fileSize;

int vectorSize, r, c;

oldFile = fopen("output.bmp","rb");

/* initialize pointer */

someChar = '0';

pChar = &someChar;

printf("Writing filename %s\n", bmpFile);

/*--------write INPUT FILE------------*/

bmpOutput = fopen(bmpFile, "wb");

fseek(bmpOutput, 0L, SEEK_END);

rasterOutput = fopen("data.txt","w");

originalImage.cols = image->Hres;

originalImage.rows = image->Vres;

fileSize = image->Size;

nColors = nCol;

vectorSize = nVS;

//image->i = new Pixel[fileSize];

//image->p = new Pixel*[fileSize];

// write the header

// 54 + 4*nColors

// char ch[2];

// for( int i=0; i< 54 + 4* nColors; i++ ){/

// fread(ch, sizeof(char), 1, oldFile);

// fwrite(ch, sizeof(char), 1, bmpOutput);

// }

copyImageInfo(oldFile,bmpOutput);

copyColorTable(oldFile,bmpOutput,nColors);

/*-------PRINT TO SCREEN-------------*/

printf("Width: %d\n", originalImage.cols);

printf("Height: %d\n", originalImage.rows);

printf("File size: %ld\n", fileSize);

printf("# Colors: %d\n", nColors);

/*----------Write RASTER DATA---------*/

fseek(bmpOutput, (54 + 4*nColors), SEEK_SET);

for(r=0; r<=originalImage.rows - 1; r++)

{

for(c=0; c<=originalImage.cols - 1; c++)

{

*pChar = (unsigned char)image->p[r][c]*255;

fwrite(pChar, sizeof(char), 1, bmpOutput);

//fprintf(rasterOutput, "(%d, %d) = %d\n", r, c, int(*pChar)/255); }

}

fclose(bmpOutput);

fclose(rasterOutput);

}

/*-------------COPIES HEADER AND INFO HEADER----------------*/

void copyImageInfo(FILE* inputFile, FILE* outputFile)

{

unsigned char* ptrC;

unsigned char dummy;

int i;

dummy = '0';

ptrC = &dummy;

fseek(inputFile, 0L, SEEK_SET);

fseek(outputFile, 0L, SEEK_SET);

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

{

fread(ptrC, sizeof(char), 1, inputFile);

fwrite(ptrC, sizeof(char), 1, outputFile);

}

}

/*----------------COPIES COLOR TABLE-----------------------------*/

void copyColorTable(FILE* inputFile, FILE* outputFile, int nColors)

{

unsigned char* ptrC;

unsigned char dummy;

int i;

dummy = '0';

ptrC = &dummy;

fseek(inputFile, 54L, SEEK_SET);

fseek(outputFile, 54L, SEEK_SET);

for(i=0; i<=(4*nColors); i++) /* there are (4*nColors) bytesin color table */ {

fread(ptrC, sizeof(char), 1, inputFile);

fwrite(ptrC, sizeof(char), 1, outputFile);

}

}

/*----------GET IMAGE INFO SUBPROGRAM--------------*/

long getImageInfo(FILE* inputFile, long offset, int numberOfChars)

{

unsigned char*ptrC;

long value = 0L;

unsigned char dummy;

int i;

dummy = '0';

ptrC = &dummy;

fseek(inputFile, offset, SEEK_SET);

for(i=1; i<=numberOfChars; i++)

{

fread(ptrC, sizeof(char), 1, inputFile);

/* calculate value based on adding bytes */

value = (long)(value + (*ptrC)*(pow(256, (i-1))));

}

return(value);

} /* end of getImageInfo */

/*----------SET IMAGE INFO SUBPROGRAM--------------*/

void setImageInfo(FILE* outputFile, long offset, int numberOfChars,long value)

{

unsigned char*ptrC;

//long value = 0L;

unsigned char dummy;

int i;

dummy = '0';

ptrC = &dummy;

fseek(outputFile, offset, SEEK_SET);

for(i=1; i<=numberOfChars; i++)

{

printf("%d\n",value);

fwrite( &(((char *)(&value))[i]), sizeof(char),1, outputFile );

/* calculate value based on adding bytes */

//value = (long)(value + (*ptrC)*(pow(256, (i-1))));

//*ptrC = (unsigned char) value/pow(256,(i-1));

//value = fmod(value,pow(256,(i-1)) );

//fwrite(ptrC, sizeof(char), 1, outputFile);

}

//return(value);

} /* end of setImageInfo */

2.

#include

#include

#include

#include"thin_image.h"

static int masks[] = { 0200, 0002, 0040, 0010 };

static unsigned char delet[512] = {

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1,

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, 1, 1, 0, 0, 1, 1,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,

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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1,

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, 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, 1, 1, 0, 0, 1, 1,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};

void ThinImage ()/* Image control structure */

{

int xsize, ysize; /* Image resolution */

int x, y; /* Pixel location */

int i; /* Pass index */

int pc = 0; /* Pass count */

int count = 1; /* Deleted pixel count */

int p, q; /* Neighborhood maps of adjacent*/

Pixel *qb; /* Neighborhood maps of previous*/

int m; /* Deletion direction mask */

xsize = image->Hres;

ysize = image->Vres;

qb = (Pixel *) malloc (xsize*sizeof(Pixel));

qb[xsize-1] = 0; /* Used for lower-right pixel */

printf(" %d,%d \n",xsize,ysize);

while ( count ) { /* Scan image while deletions */

pc++;

count = 0;

for ( i = 0 ; i < 4 ; i++ ) {

m = masks[i];

/* Build initial previous scan buffer. */

p = image->p[0][0] != 0;

for ( x = 0 ; x < xsize-1 ; x++ )

qb[x] = p = ((p<<1)&0006) | (image->p[0][x+1] != 0);

/* Scan image for pixel deletion candidates. */

for ( y = 0 ; y < ysize-1 ; y++ ) {

q = qb[0];

p = ((q<<3)&0110) | (image->p[y+1][0] != 0);

for ( x = 0 ; x < xsize-1 ; x++ ) {

q = qb[x];

p = ((p<<1)&0666) | ((q<<3)&0110) |

(image->p[y+1][x+1] != 0);

qb[x] = p;

if ( ((p&m) == 0) && delet[p] ) {

count++;

image->p[y][x] = 0;

}

}

/* Process right edge pixel. */

p = (p<<1)&0666;

if( (p&m) == 0 && delet[p] ) {

count++;

image->p[y][xsize-1] = 0;

}

}

/* Process bottom scan line. */

for ( x = 0 ; x < xsize ; x++ ) {

q = qb[x];

p = ((p<<1)&0666) | ((q<<3)&0110);

if( (p&m) == 0 && delet[p] ) {

count++;

image->p[ysize-1][x] = 0;

}

}

}

printf ("ThinImage: pass %d, %d pixels deleted\n", pc, count);

}

free (qb);

}

Image *image;

void main(void)

{

char *file;

file = new char[256];

image = new Image;

sprintf(file,"output.bmp");

printf("%s",file);

readBmp(file);

printf("%d \n",image->Hres);

ThinImage();

sprintf(file,"output_t.bmp");

printf("%s",file);

writeBmp(file);}

实验一 手工测试报告

淮海工学院计算机工程学院实验报告书 课程名:《软件测试技术》 题目:上机1 手工测试 班级: 学号: 姓名:

上机1 手工测试 一.实验目的 1.找出软件的缺陷,熟悉软件测试后期的测试工作。 2.复习软件测试的确认测试,黑盒测试方法。 二.实验内容 找出鸿飞记事本的20个bug。 三.软件缺陷 1.登陆界面缺陷。某些文字使用淡灰色字体,不够突出,容易被用户忽略。 2.不是第一次登陆并之前修改用户密码之后,仍提示“默认密码为1,登陆后请修 改”;容易对用户产生误导。 3.界面按钮不够清晰、突出,易对用户造成困扰。 4.用户可以一次性修改用户名和密码,造成用户信息安全隐患。 5.皮肤设置时,软件控制按钮会随界面的皮肤设置而改变,一些特殊的皮肤颜色会 掩盖软件控制按钮,尤其是白色皮肤的时候。

自动保存,一旦改变后即使用户觉得没原来的好也就不能取消。 7.软件的使用帮助是互联网的外连接,而软件介绍时说不需要网络即可以使用。一 旦用户没有连接网络而用户又不会使用,此时使用帮助起不到帮助效果。 8.软件使用框架嵌套,大框架的边框颜色不协调且不能修改。 9. 没有告诉用户打开日志的方法。 10.文本的背景颜色过于浓厚会掩盖文本内容

立日志时比它早建立的日志之前。 体设置”按钮修改;有的时候会出现乱码,如图“人”卧倒了。

13.字体大小设置只有1-7七个规格,可选字体大小过少。 14.表格插入有问题。没有插入选项,自动选择三行三列,只能一行、一列的修改, 工作繁琐,尤其是大表格的时候。 15.文本没有撤销功能,如某些文字视频、表格、文档插进去之后不能撤销。 16.正在编写日志时突然退出时,只提示是否退出,并不提示是否保存编写的日志。 17.图片插入后不能删除

基于指纹识别的电子密码锁设计

基于指纹识别的电子锁系统设计 作者姓名:XX 专业班级:测控技术和仪器2009060101 指导教师:XX 摘要 随着社会的发展和科技的进步,传统的安全防盗系统面临极大的挑战。生物识别技术的蓬勃发展,让人们对于安防系统的设计有了另一种灵感,指纹锁应运而生。可供二次开发的指纹模块已经解决了指纹图像的处理问题,如何实现这种技术的实际应用已经成为急需解决的问题,本设计利用单片机对指纹模块的控制实现了这种技术的应用。设计以指纹传感器对指纹图像的采集为基础,通过单片机控制指纹模块实现对指纹图像的组合处理,系统的各项具体功能皆建立在相应的指纹图像的组合处理基础之上,系统主要实现了指纹模板的录入以及指纹匹配功能。 关键词:指纹识别技术;指纹锁;系统设计

The Design of the system of Electronic lock based on Fingerprint Identification Abstract:With the development of the society and the progress of science and technology, The traditional security system faced with great challenges. With the vigorous development of Biometric Identification Technology, people have another kind of inspiration to design the lock,Fingerprint lock arises at the very historical moment. The fingerprint module for secondary development has solved the problem of image processing, The remaining problem is how to take advantage of the technology in practice. This design has realized the application, which mainly based on the control from MCU to the module of fingerprint. The foundation of this design is fingerprint collection, Through the control from MCU to the module can realize the combination of image processing, based on the combination of image processing can realize the various functions of the system . The mainly functions of the system include the landing and matching of fingerprint template . Keywords: Fingerprint identification technology;Fingerprint lock;System design

基于TMS320VC5501和DSP_BIOS的指纹识别系统设计

收稿日期:2009-11-23 作者简介:刘慧英(1956 ),女,陕西西安人,教授,主要从事智能控制理论与智能交通系统的研究;李飞(1982 ),男,硕士研究生,研究方向为控制理论与控制工程。 基于T M S320VC5501和DSP /BI OS 的 指纹识别系统设计 刘慧英,李 飞,宁 飞,傅 磊 (西北工业大学自动化学院,陕西西安 710129) 摘要:针对目前嵌入式指纹识别系统设计的不足,提出了基于单DSP 处理器结构的指纹识别设计方案。系统硬件采用TMS320VC5501作为处理核心,C MOS 图像传感器HV7131R 为图像采集器件,片上系统芯片CY8C21534设计的电容性触摸按键提供系统控制输入。系统软件以嵌入式实时操作系统DSP /B I OS 为开发平台进行实时多任务设计,并对指纹识别算法进行了硬件平台优化和改进。调试结果表明,该系统运行稳定可靠,匹配精度高,满足设计要求。关键词:TM S320VC5501;图像采集;DSP/BI OS;指纹识别算法 中图分类号:TP39 文献标识码:A 文章编号:1000-8829(2010)07-0028-05 D esign of Fi ngerpri nt R ecognition Syste m B ased on T M S 320VC 5501and DSP /BI O S L I U H u i ying ,LI Fe,i N I N G Fe,i FU Lei (Schoo l of A uto m a tion ,N orth w este rn Po lytechn i ca lU n i versity ,X i an 710129,Chi na) Abst ract :A fi n gerpri n t recogn iti o n syste m is pr oposed based on sing le DSP pr ocessor str ucture because of de si g n fla w s of the presen t e m bedded syste m.T M S320VC5501is used as the processor ,and HV7131R C MOS co lor i m age senso r is used as i m age acqu isiti o n ch i p .C ap sense touch keyboard is i n troduced for input contro l usi n g C Y8C21534SoC chip .The real ti m e mu lti task desi g n o f syste m soft w are is based on the e mbedded real ti m e operation syste m DSP /B I O S .The fi n ger pri n t recogniti o n algorithm is opti m ized and i m proved in the hard w are platfor m .The test resu lt sho w s t h at th is syste m r uns stable and the precisi o n o f m atch i n g m eets the re quire m en ts o f syste m .K ey w ords :TM S320VC5501;i m age acquisiti o n;DSP /B I O S ;fi n gerpri n t recogn iti o n algorithm 随着现代社会数字化、信息化和网络化进程的不断加快,人们之间的信息交流愈加频繁,对身份鉴别技术的要求也越来越高。传统的身份识别(如钥匙、证件和密码等)存在容易丢失、磨损以及遗忘等缺点,因此人们把目光转向生物识别技术。所谓生物识别技术是指利用人的生理特征或行为特征来进行个人身份的鉴定。指纹的唯一性和终生不变性,使其成为当前生 物识别的主要研究对象[1] 。指纹识别技术具有很高的可行性和实用性,因而成为目前应用最广泛的个人身份认证技术之一。指纹识别技术的应用系统可以分 为两大类,即联机(PC)识别系统和嵌入式识别系统。嵌入式识别系统结构上相对独立,不需要连接计算机就可以独立完成其设计功能,具有速度快、体积小、接口多等优点,被应用到各种领域。但是该系统存在两方面的问题:一是缺少操作系统,程序处于!裸跑?状态,降低了系统运行的可靠性;二是更多地采用!DSP +FPGA ?的处理器结构,增加了系统功耗与成本,从而限制了其应用的范围。因此,开发基于操作系统的DSP 指纹识别系统具有很大的实际意义。 1 系统设计方案 本系统以T M S320VC5501(以下简称C5501)DSP 为核心处理器,它是T I 公司最新推出的高性能、低功耗16位定点DSP 芯片,器件上集成了多种先进的外设[2] 。电容式触摸键盘和LCD 构成的人机交互模块

模式识别第二次上机实验报告

北京科技大学计算机与通信工程学院 模式分类第二次上机实验报告 姓名:XXXXXX 学号:00000000 班级:电信11 时间:2014-04-16

一、实验目的 1.掌握支持向量机(SVM)的原理、核函数类型选择以及核参数选择原则等; 二、实验内容 2.准备好数据,首先要把数据转换成Libsvm软件包要求的数据格式为: label index1:value1 index2:value2 ... 其中对于分类来说label为类标识,指定数据的种类;对于回归来说label为目标值。(我主要要用到回归) Index是从1开始的自然数,value是每一维的特征值。 该过程可以自己使用excel或者编写程序来完成,也可以使用网络上的FormatDataLibsvm.xls来完成。FormatDataLibsvm.xls使用说明: 先将数据按照下列格式存放(注意label放最后面): value1 value2 label value1 value2 label 然后将以上数据粘贴到FormatDataLibsvm.xls中的最左上角单元格,接着工具->宏执行行FormatDataToLibsvm宏。就可以得到libsvm要求的数据格式。将该数据存放到文本文件中进行下一步的处理。 3.对数据进行归一化。 该过程要用到libsvm软件包中的svm-scale.exe Svm-scale用法: 用法:svmscale [-l lower] [-u upper] [-y y_lower y_upper] [-s save_filename] [-r restore_filename] filename (缺省值:lower = -1,upper = 1,没有对y进行缩放)其中,-l:数据下限标记;lower:缩放后数据下限;-u:数据上限标记;upper:缩放后数据上限;-y:是否对目标值同时进行缩放;y_lower为下限值,y_upper为上限值;(回归需要对目标进行缩放,因此该参数可以设定为–y -1 1 )-s save_filename:表示将缩放的规则保存为文件save_filename;-r restore_filename:表示将缩放规则文件restore_filename载入后按此缩放;filename:待缩放的数据文件(要求满足前面所述的格式)。缩放规则文件可以用文本浏览器打开,看到其格式为: y lower upper min max x lower upper index1 min1 max1 index2 min2 max2 其中的lower 与upper 与使用时所设置的lower 与upper 含义相同;index 表示特征序号;min 转换前该特征的最小值;max 转换前该特征的最大值。数据集的缩放结果在此情况下通过DOS窗口输出,当然也可以通过DOS的文件重定向符号“>”将结果另存为指定的文件。该文件中的参数可用于最后面对目标值的反归一化。反归一化的公式为: (Value-lower)*(max-min)/(upper - lower)+lower 其中value为归一化后的值,其他参数与前面介绍的相同。 建议将训练数据集与测试数据集放在同一个文本文件中一起归一化,然后再将归一化结果分成训练集和测试集。 4.训练数据,生成模型。 用法:svmtrain [options] training_set_file [model_file] 其中,options(操作参数):可用的选项即表示的涵义如下所示-s svm类型:设置SVM 类型,默

手工焊接实验报告

手工焊接实验报告 篇一:手工焊实训报告 XX大学 手工焊实训总结 年级专业: 学生姓名:学号:指导教师:焊接 XX大学 完成时间: 2012 年月日 1 2 3 4 篇二:手工电弧焊实习报告 学校实习安排

本次实习主要安排在新疆土哈油田建设有限公司进行,以顶班上岗为主,通过实习使学生全面了解企业单位的各方面工作,强化安全意识,规范操作要领,做到安全生产与文明生产。 我在吐哈油建公司实习以有几个月了,公司首先对我门进行了手工焊接的培训,培训期间遇到了很多问题和困难在几个月的时间内体验到当今电焊界普遍所应用的方法,总的来说这次实习活动是一次有趣且必将影响今后学习和工作的重要实践经验。 手工电弧焊是一门实践性的技术课,是学生学习焊接技术工艺方法和技术,完成工程基本训练的重要必修课。实习不仅可以让我们获得焊接的基础知识,了解焊接的一般操作,而且还可以提高自己的焊接技能和动手能力,而且加强了理论联系实际的锻炼,提高了我们的实践能力,培养了我们的素质。实习是一次我们学习、锻炼的好机会。通

过这次几个月充实的实习我懂得了很多……… 在这几个月内,大家每天都要加强学习焊接技术,并在很短的实习时间里,完成从对各项焊工作业的过程,我们在老师们耐心细致地指导下,很顺利的完成各自的实习内容,并且基本上都达到了老师预期的实习要求,圆满地完成了实习。在实习期间,通过学习焊接的操作,我们做出了自己的工件,虽然这几个月的焊接实习是对我们的一个很大的考验,我们都喜不自禁,感到很有成就感。 在实习中,安全是第一位,这是每个老师给我们的第一忠告。实习是培养学生实践能力的有效途径,又是我们工科类大学生非常重要的也特别有意义的实习课,也是我们一次,离开课堂严谨的环境,感受到车间的气氛,亲手掌握知识的机会。 实习要求

指纹识别系统

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

模式识别实验报告

模式识别实验报告

————————————————————————————————作者:————————————————————————————————日期:

实验报告 实验课程名称:模式识别 姓名:王宇班级: 20110813 学号: 2011081325 实验名称规范程度原理叙述实验过程实验结果实验成绩 图像的贝叶斯分类 K均值聚类算法 神经网络模式识别 平均成绩 折合成绩 注:1、每个实验中各项成绩按照5分制评定,实验成绩为各项总和 2、平均成绩取各项实验平均成绩 3、折合成绩按照教学大纲要求的百分比进行折合 2014年 6月

实验一、 图像的贝叶斯分类 一、实验目的 将模式识别方法与图像处理技术相结合,掌握利用最小错分概率贝叶斯分类器进行图像分类的基本方法,通过实验加深对基本概念的理解。 二、实验仪器设备及软件 HP D538、MATLAB 三、实验原理 概念: 阈值化分割算法是计算机视觉中的常用算法,对灰度图象的阈值分割就是先确定一个处于图像灰度取值范围内的灰度阈值,然后将图像中每个像素的灰度值与这个阈值相比较。并根据比较的结果将对应的像素划分为两类,灰度值大于阈值的像素划分为一类,小于阈值的划分为另一类,等于阈值的可任意划分到两类中的任何一类。 最常用的模型可描述如下:假设图像由具有单峰灰度分布的目标和背景组成,处于目标和背景内部相邻像素间的灰度值是高度相关的,但处于目标和背景交界处两边的像素灰度值有较大差别,此时,图像的灰度直方图基本上可看作是由分别对应于目标和背景的两个单峰直方图混合构成。而且这两个分布应大小接近,且均值足够远,方差足够小,这种情况下直方图呈现较明显的双峰。类似地,如果图像中包含多个单峰灰度目标,则直方图可能呈现较明显的多峰。 上述图像模型只是理想情况,有时图像中目标和背景的灰度值有部分交错。这时如用全局阈值进行分割必然会产生一定的误差。分割误差包括将目标分为背景和将背景分为目标两大类。实际应用中应尽量减小错误分割的概率,常用的一种方法为选取最优阈值。这里所谓的最优阈值,就是指能使误分割概率最小的分割阈值。图像的直方图可以看成是对灰度值概率分布密度函数的一种近似。如一幅图像中只包含目标和背景两类灰度区域,那么直方图所代表的灰度值概率密度函数可以表示为目标和背景两类灰度值概率密度函数的加权和。如果概率密度函数形式已知,就有可能计算出使目标和背景两类误分割概率最小的最优阈值。 假设目标与背景两类像素值均服从正态分布且混有加性高斯噪声,上述分类问题可以使用模式识别中的最小错分概率贝叶斯分类器来解决。以1p 与2p 分别表示目标与背景的灰度分布概率密度函数,1P 与2P 分别表示两类的先验概率,则图像的混合概率密度函数可用下式表示为

计算机模拟手工实验报告

计算机模拟手工实验 学生实验报告 学院:商学院 课程名称:计算机模拟手工实验 专业班级: 姓名: 学号:

学生实验报告 第一部分:实验概况与内容 一、实验的目的及要求 1、实验目的 本实验以模拟企业的实际会计工作为基础,按照企业会计制度和企业会计准则的要求,进行操作训练,有目的地检验和复习所学的会计理论、方法、技能和技巧通过实际的操作,使我们能够比较系统、全面地掌握工业企业会计核算的基本程序和具体方法,加强我们对会计基本理论的理解和对会计基本技能的掌握,把枯燥、抽象的书本知识转化为实际、具体的操作,使我们能够形象地掌握各种业务的处理及记账凭证的填写方法,掌握账簿的处理及登记方法,掌握成本核算方法,掌握各种报表的编制方法,掌握会计资料的整理归档方法,同时,我们可以体验在不同岗位进行不同操作,使之在实验中,培养职业道德和职业判断能力,提高职业工作能力,为我们今后从事会计实务工作打下扎实的基础。 2、实验要求 ①熟悉会计工作的基本流程,工作内容以及工作规范等基础知识; ②能够熟练的进行对实验企业所发生各经济业务的会计核算和账务处理; ③掌握实验企业建立账户、填制凭证,登记账簿、编制报表等会计实务操作流程。 二、实验内容 1、企业基本情况 津阳市永安公司是批零兼营的以零售为主的商品流通企业,主要经营五金、百货、家电等商品,分设一部四柜组,其中一部为批发部,四柜组为小百货组、五金家电组、鞋帽组、针织服装组。

开户行及账号:中国工商银行贵溪分理处 5189958。 地址:津阳市盛兴路160号。 经营规模:一般纳税人,适用增值税税率为17%。 纳税人识别号:235678902283156。 所得税税率:25% 2、内部主要财务会计制度 (1)批发商品流转业务核算的有关规定和要求: ①库存商品采用数量进价金额核算法,按商品品名开设明细账进行数量进价金额核算。 ②“商品销售收入”、“商品销售成本”账户按批发设置明细账,以便结转成本。 ③商品销售使用增值税专用发票,税率为17%。 ④商品销售成本本月末采用先进先出法,在“库存商品——批发”账户中倒算并结转成本。平时只填制出库单。 (2)零售商品流转业务核算的有关规定和要求: ①库存商品采用售价金额核算法,“库存商品”账户按零售分设小百货组、五金家电组、鞋帽组、针织服装组分户进行明细核算。 ②“商品销售收入”、“商品销售成本”账户按批发设置明细账,以便结转成本。 ③商品销售使用增值税专用发票,税率为17%。 ④商品销售实行“价税合一”、平时“商品销售收入”反映含税(增值税、下同)销售额,月末按下列公式调整为不含税销售额,以此计算冲销已销商品收入所含的增值税(进项税额)。不含税销售额=含税销售额/ (1+增值税税率) ⑤商品销售成本按含税销售额随销随转办法,注销书屋负责人的经济责任。 ⑥“商品进销差价”账户反映含税售价与不含说进价之差的数额,并按前述四柜组分别核算。 ⑦月末,按分类(柜组)差价率计算法计算并分摊已销商品实现的进销差价。(3)本公司采用的是非定额的备用金制度 3.实验过程

指纹识别系统设计

指纹识别系统设计题目:指纹识别系统设计 专业:电气工程及其自动化 学生姓名:陈 指导教师:黄

摘要 指纹作为人体的重要特征具有长期不变性和唯一性已经成为生物识别领域的重要手段通过指纹特征来鉴别人的身份的技术正在得到越来越广泛的应用随着指纹检测技术和指纹识别算法的不断改进指纹识别技术还将在越来越多的部门得到更广泛的应用。针对指纹的唯一性和终身不变性的特点.提出了一种基于FPS200固态指纹传感器和TMS320VC5402 DSP 芯片的快速指纹识别系统,促使指纹识别设备向小型化、嵌入式、自动化方向发展;对系统的组成原理、指纹采集和指纹图像处理力法进行了分析;结合FPS200和TMS320VC5402芯片的特性,对系统硬件核心和图像采集电路做了详细介绍,并给出系统硬件设计方案、软件设计流程;实验结果表明.系统指纹采集效率高,识别速度快,识别结果准确可靠;该系统性能稳定.实用性强,应用范围广泛。 关键词:指纹识别;TMS320VC5402;DSP;指纹采集;图像处理

Abstract As the uniqueness and constancy of fingerprint ,a quick fingerprint recognition system based on fingerprint sensor FPS200 and DSP chip TMS320VC5402 is presented. The composing principles of the system , fingerprint collection and fingerprint image processing methods are introduced particular .with the characteristics of FPS200 TMS320VC5402 ,the core of the hardware collecting circuit and the designs of the hardware and software are introduced in details. The results of experiments indicated that this system works with great fingerprint collection efficiency, high recognition speed and credible recognition results because of the stead performance and practicability the system will have wide application area .

手工香皂 实验报告 朱琳 1131592007

开放性实验报告 实验名称手工香皂(红酒香皂)的制作学院艺术设计学院 专业班产品设计131 姓名朱琳 学号1131592007 同组实验者丁佳杰din jia jie 实验日期2015.4.——2015.6. 指导教师李惠

一、实验目的 1.学习制作手工香皂的方法。 2.掌握皂化反应原理,并将它运用到实践。 二、实验原理 香皂是一种最普遍和最广泛使用的个人洗涤用品。香皂制作的主要反应是皂化反应,皂化反应是碱催化下的酯水解反应,尤其指的是油脂的水解。狭义地讲,皂化反应仅限于油脂与氢氧化钠混合,得到高级脂肪酸的钠盐和甘油的反应(还有部分水)。这个反应是制造肥皂流程中的一步,因此而得名。 皂化反应是一个放热反应。它是一个较慢的化学反应,为了加快反应速率,可以在化学反应的过程中保持系统的较高温度,用物理方式不断搅拌溶液以增加分子碰撞的数量。 脂肪和植物油的主要成分是甘油三酯,它们在碱性条件下水解的方程式为: CH2COOR CH2OH | | CHCOOR + 3 NaOH → 3 RCOONa + CHOH | | CH2COOR CH2OH R基可能不同,但生成的R-COONa都可以做肥皂。常见的R基有:十七碳烯基。R-COOH为油酸。 正十五烷基。R-COOH为软脂酸。 正十七烷基。R-COOH为硬脂酸。 香皂的制作方法大致可以分为热制法和冷制法。热制法属于持续性地加热成形,它的好处是制皂时间较短,约2个小时即可完成,缺点是部分营养都在持续性的高温下被破坏了。而冷制法的好处是可以保留大多数的营养,但缺点是制作时间非常长,最少必须等待3--8周以上才可以完成。 通常市售的普通香皂大多数采用热制法制作,在制皂的过程中会产生甘油,一般会将甘油提取出来,并添加一些化学物质与防腐剂等,所以使用后常常会将肌肤的天然油脂一起带走。而手工香皂大多数采取天然的植物油及其他天然原料,再加上不提取甘油,相对而言,不仅健康,而且滋润肌肤的效果更是普通香皂无法比拟的。手工香皂的制作过程之中没有添加清洁的人工化学物质,因此手工香皂遇到水之后,大约24小时以内就会被完全中和分解掉,所以并不会造成生态环境的破坏。 本实验采取冷制法制备手工红酒香皂。

基于MATLAB的指纹识别系统设计

基于MATLAB的指纹识别系统设计

摘要 生物识别技术已经成为身份识别和网络安全的发展技术之一,其中指纹识别技术是目前公认的安全,准确,方便的身份认证技术之一,使之成为人们研究的热点。 本文主要设计一个基于matlab 的指纹识别系统。首先主要介绍了指纹识别技术研究的背景,意义,及现状。其次,实现了指纹识别系统,描述了指纹识别系统的基本结构,并且对指纹图像的预处理、特征提取、特征匹配这三个必要的环节的算法进行了详细地研究,在指纹图像预处理阶段,本文使用基于灰度的算法对图像进行了分割,同时,针对二值化后图像中仍存在的噪声,也进行了相应的修整处理,尽可能的为以后指纹特征的提取打好基础,从而成功地实现了对指纹数字图像的处理、特征提取、保存和匹配等功能。最后,对指纹识别系统进行了仿真,仿真结果表明该系统可以较好的进行识别,准确率达到了95.1%。 关键词:指纹识别;预处理;二值化;特征提取;特征匹配

Abstract Biometric technology has become one of the developing technologies for identity recognition and network security. And fingerprint identification technology is now recognized as one of the most safe, accurate and convenient authentication technologies, and it is a focus for researchers. This paper designs a matlab-based fingerprint recognition system. The first introduces the fingerprint recognition technology research background, significance, and the status quo. Secondly, to achieve fingerprint identification system, describes the basic structure of the fingerprint identification system, and the fingerprint image preprocessing, feature extraction, feature matching these three essential aspects of the algorithm is studied in detail in the fingerprint image pre-processing stage this article uses an algorithm based on gray image segmentation carried out at the same time, for the image after binarization noise still exists, but also for the corresponding trimming process, as much as possible for the future lay the foundation for fingerprint feature extraction and thus successfully achieved fingerprint digital image processing, feature extraction, storage and matching functions. Finally, the fingerprint identification system for simulation, simulation results show that the system can identify a better accuracy rate reached 95.1%. Key Words:Fingerprint Recognition;Processing;Binarization;Feature Extraction;Feature Matching

指纹识别门禁系统的设计与实现

目录 摘要 .............................................................. I II ABSTRACT ........................................................... I V 第一章绪论 ........................................................ 1 1.1 论文的背景及意义............................................ 1 1.2 识别技术简介................................................ 2 1.2.1 指纹特点 .............................................. 2 1.2.2 指纹特征 .............................................. 2 1.2.3 指纹应用系统简介...................................... 2 1.2.4 指纹取像技术及其特点.................................. 3第二章指纹门禁系统的总体设计 ...................................... 5 2.1 系统功能.................................................... 5 2.2 系统性能指标................................................ 5 2.3 系统硬件结构................................................ 6 2.4 系统软件结构................................................ 7第三章指纹门禁系统的硬件设计 ...................................... 9 3.1 SPCE061A单片机介绍 ......................................... 9 3.1.1 SPCE061A单片机的主要性能.............................. 9 3.1.2 指纹识别模块OM-20的管脚说明及性能指标................ 9 3.1.3 SPCE061A单片机与指纹识别模块OM-20的接口电路设计... 10 3.2 SPCE061A单片机与液晶显示模块SPLC501的接口............... 11第四章指纹门禁系统的软件设计 .................................... 13 4.1 指纹处理模块.............................................. 13 4.1.1 指纹识别模块OM-20通讯协议.......................... 13 4.1.2 登记指纹模板程序设计................................ 13 4.1.3 删除指纹模板程序设计................................ 14 4.1.4 清空指纹模板程序设计................................ 14 4.2 系统主程序设计............................................ 15 4.3 指纹开门程序设计.......................................... 15

毕业设计(论文)-基于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

基于arm的指纹识别毕业设计

v .. . .. 基于ARM的指纹识别系统设计 摘要 世界正朝着互联化的方向发展,而物联网正是这个数字革命的核心之一。在目前流行的物联网技术中,要求嵌入式终端能够提供成熟且价格便宜的生物特征识别技术,目前来说指纹识别的技术应用最为广泛,我们不仅在门禁、考勤系统中可以看到指纹识别技术的身影,市场上有了更多指纹识别的应用:如手机、指纹锁、银行支付验证都可应用指纹识别的技术。 在指纹识别控制领域,也会用到各种微控制器,本文采用了三星半导体S3C6410作为控制核心,S3C6410应用了专为要求高性能、低成本、低功耗的嵌入式消费类电子设计的ARM9内核。按性能分成两个不同的系列:该系列内核时钟频率已经达到72MHz。 指纹识别基于两种特征点来识别:(i)组成指纹的指纹整体特征结构(ii)局部的特征点。本文提出了一种可以在自动指纹识别系统中使用的基于特征点的指纹识别算法。本文提到的方法基于从细化提取的特征点,二值化一个指纹图像分割图。该系统采用在指纹分类的指纹索引匹配,大大提高了匹配算法的性能。 关键字:ARM9,指纹识别,特征识别,图像处理 . . . 资料. .

v .. . .. Abstract The world is moving in the direction of the development of the Internet, the Internet of is one of the core of the digital revolution. In the current network technology, the embedded terminal capable of providing biometric technology is mature and the price is cheap, at present technology of fingerprint recognition is the most widely, we can not only see the fingerprint recognition technology in access control, attendance system, fingerprint recognition application is more on the market: such as mobile phone, fingerprint lock, bank payment verification can be applied to fingerprint recognition technology. In the fingerprint recognition and control field, we will also use a variety of micro controller, this paper uses Samsung S3C6410 as the control core, S3C6410 application designed for high performance, low cost, low power embedded consumer electronic design based on ARM9 kernel. According to performance is divided into two different series: this series of core clock frequency has reached 72MHz. Fingerprint identification two feature points based on: (I) to identify the fingerprint feature structure fingerprint (II) feature local. This paper proposes a can be used in automatic fingerprint recognition system of fingerprint . . . 资料. .

相关文档
最新文档