OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4971|回复: 8

AS608指纹模块在电脑端比对提取的不同特征文件

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2019-7-5
在线时间
0 小时
发表于 2019-7-5 16:31:39 | 显示全部楼层 |阅读模式
4金钱
本帖最后由 sleepymadao 于 2019-7-5 16:31 编辑

楼主现在在做一个用树莓派+AS608指纹识别模块的门禁管理系统的课程小项目。目标是除了终端指纹识别以外,还能够将特征文件存储在服务器端。这样在管理多个指纹模块时可以对指纹特征进行在线比对,而不需要重新把特征下发。

现在已经从指纹模块中提取出了指纹的图像和特征文件,希望能够在电脑端(树莓派)上先实现两个特征文件之间的比对。
所以想请教一下各位大神,如何在电脑端比对两个指纹特征文件?算法大概是什么样的?

另外说明手册上的说特征文件的大小为256字节(2x128),包含56字节的头部信息和50个4字节的特征点信息。但我实际提取出来以后有768字节(6x128)。其中前384字节(3x128)是有数据的。
哪位大神可以解释一下这个问题吗?


这里特别感谢一个博主开心的小草的分享,参考链接:https://www.cnblogs.com/kaixindexiaocao/p/11067673.html









正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-7-9 02:39:56 | 显示全部楼层
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2020-4-10
在线时间
0 小时
发表于 2020-4-10 10:05:17 | 显示全部楼层
请问楼主这个问题有解释了吗?
回复

使用道具 举报

2

主题

15

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2020-12-8
在线时间
17 小时
发表于 2020-12-22 10:40:17 | 显示全部楼层
求指纹特征进行在线比对算法
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2020-12-22 11:20:08 | 显示全部楼层
weirdor 发表于 2020-12-22 10:40
求指纹特征进行在线比对算法

之前网上找不到特征值的用法,大家好像也都是上传图像自己写算法对比吧
回复

使用道具 举报

2

主题

15

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2020-12-8
在线时间
17 小时
发表于 2020-12-22 16:28:52 | 显示全部楼层
nashui_sx 发表于 2020-12-22 11:20
之前网上找不到特征值的用法,大家好像也都是上传图像自己写算法对比吧

您这边有上传图像这样的代码么
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2020-12-22 18:40:41 | 显示全部楼层
本帖最后由 nashui_sx 于 2020-12-22 18:43 编辑
weirdor 发表于 2020-12-22 16:28
您这边有上传图像这样的代码么

你发送上传图像指令 会收到40032个数据  包含帧头 校验 数据,处理就好了,下面是matlab的代码   串口data.txt是把收到的全部数据放到txt里面了

  1. clc
  2. clear all
  3. tic
  4. %40032个数据  包含帧头 校验 数据
  5. data_all=textread('串口data.txt','%s');
  6. %转数值  串口处理不需要转 直接就是数值
  7. data_all=hex2dec(data_all);

  8. %数据默认是一帧128长度  288帧
  9. data_new=reshape(data_all,139,288)';%变形成288*139
  10. data=data_new(:,10:end-2);          %舍弃前面的帧头 校验  
  11. %一帧数据例子
  12. %                  02下面还有数据
  13. %                     00 82=130=128+2校验  
  14. %                           E0开始为数据....7A 2D校验
  15. %EF 01 FF FF FF FF 02 00 82 E0 FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE FE EF FF EF FF FF FE EE FE EE EE EE FF EE EE EE EE EE EE EE EE EE EE EE DD EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE FE EE EE EE FE EF FF EF EE EF FF FE FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 7A 2D

  16. %图像缓冲区 ImageBuffer 用于存放图像数据和模块内部图像处理使用。上传/下载图象时,图像格式为256╳288像素。
  17. %通过 UART口上传或下载图像时为了加快速度,只用到像素字节的高四位,即采用16级
  18. %灰度,每字节表示两个像素(高四位为一个像素,低四位为同一行下一相邻列的一个像素,
  19. %即将两个像素合成一个字节传送)。由于图象为 16个灰度等级,上传到PC进行显示时(对
  20. %应 BMP格式),应将灰度等级进行扩展(扩展为256级灰度,即 8bit位图格式)
  21. bmp=[];
  22. for i=1:1:288
  23.     for j=1:1:128
  24.        bmp(i,2*j-1) =fix(data(i,j)/16)*16;
  25.        bmp(i,2*j  ) =(data(i,j)-fix(data(i,j)/16)*16)*16;
  26.     end
  27. end
  28. %转bmp的数据格式uint8
  29. bmp=uint8(bmp) ;
  30. %保存图片
  31. imwrite(bmp,'AAA.bmp','bmp')
  32. toc

  33. %%[X, map] = imread('Finger.bmp')
复制代码


回复

使用道具 举报

2

主题

15

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2020-12-8
在线时间
17 小时
发表于 2020-12-27 00:26:40 | 显示全部楼层
nashui_sx 发表于 2020-12-22 18:40
你发送上传图像指令 会收到40032个数据  包含帧头 校验 数据,处理就好了,下面是matlab的代码   串口dat ...

感谢感谢🙏
回复

使用道具 举报

2

主题

15

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2020-12-8
在线时间
17 小时
发表于 2020-12-27 00:31:04 | 显示全部楼层
nashui_sx 发表于 2020-12-22 18:40
你发送上传图像指令 会收到40032个数据  包含帧头 校验 数据,处理就好了,下面是matlab的代码   串口dat ...

图片接收很慢要8秒钟 怎么解决的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-24 14:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表