当前位置: 首页 > news >正文

Matlab课程设计——手指静脉识别项目

手指静脉识别项目

项目方案设计介绍

本项目实现手指图像的处理和匹配算法,需要处理的数据是本人不同手指的图像,首先经过图像处理,使得指静脉的纹理增强凸显处理,然后将所有的这些图像进行相互间的匹配,检验类内和类间的匹配度,观察其是否能够明显区分开来,并据此计算正确率。

在本项目中,由于是基于算法原型的研究,因此我们选用了操作便捷的Matlab R2019b软件作为运行环境,在Windows 10 Pro for Workstation操作系统中实现算法。

算法分为以下几个过程:

图像预处理过程中,需要增强图像,提取手指区域,为识别做准备。拟采用CLAHE、直方图均衡、二值化等算法,以达到增强图像的效果;拟采用边缘检测算法实现手指的识别和提取

图像的特征提取和匹配过程中,拟采用两类不同的方法。一是局部不变特征提取算法。这些算法具有检测图像中的特征点,并对特征点的局部区域进行描述和匹配的功能。二是针对二值化图像的模板匹配,检测其匹配度。

系统识别性能

SIFT——正确率93.625%

SURF——正确率86.1875%

归一化二维互相关模板匹配——正确率99.5625%

文件结构说明

注意:以下代码中涉及的文件夹需要先自行创建,使用其它数据来源需要先自行更改字符段中涉及的文件夹。代码中的“.\590”文件夹是本人指静脉数据来源文件夹。文件夹目录结构如下:
\图像处理与机器视觉创新实践:.
│ 20191121《机器视觉创新实践》课题研究任务书(一).pdf
│ 590.zip
│ cut.m
│ gaborfilte.m
│ gaborfilter2.m
│ ImageEnhancement.m
│ img2deg.m
│ input2FingerImg.m
│ README.md
│ LICENSE
│ sift-图像增强实现2-1.mat % 由于SIFT算法耗时较长,其结果被保存下来以便多次使用
│ SIFTpair.asv
│ SIFTpair.m
│ SURFpair.m
│ TemplateMatching.m
│ tmp.key
│ tmp.pgm

├─590
├─siftDemoV4
│ appendimages.m
│ basmati.pgm
│ book.pgm
│ box.pgm
│ defs.h
│ LICENSE
│ Makefile
│ match.c
│ match.m
│ README
│ scene.pgm
│ showkeys.m
│ sift
│ sift.m
│ siftWin32.exe
│ tmp.key
│ tmp.pgm
│ util.c

运行指南

提取ROI区域

运行cut.m

图像增强与二值化

运行ImageEnhancement.m

Gabor图像滤波

运行gaborfilte.m

SIFT算法特征检测与匹配

在执行此程序前需要将siftDemoV4文件夹及其子文件夹添加到路径,在matlab中右键菜单即可操作。
运行SIFTpair.m

SURF算法特征检测与匹配

运行SURFpair.m

归一化互相关模板匹配

运行TemplateMatching.m

http://www.lryc.cn/news/404130.html

相关文章:

  • centos软件安装
  • 力扣 217. 存在重复元素,389. 找不同,705. 设计哈希集合,3. 无重复字符的最长子串,139. 单词拆分
  • 嵌入式软件工作能力
  • 景区导航导览系统:基于AR技术+VR技术的功能效益全面解析
  • Mybatis-Plus代码生成器配置方法
  • 三主机部署HP Anyware Manager服务
  • Grafana :利用Explore方式实现多条件查询
  • 腾讯技术创作特训营 -- SUPERWINNIE -- AI重塑社交内容
  • AV1技术学习: Compound Prediction
  • watch监听vue2与vue3的写法
  • docker搭建普罗米修斯监控gpu
  • 像 MvvmLight 一样使用 CommunityToolkit.Mvvm 工具包
  • python入门课程Pro(2)--循环
  • 今日总结:雪花算法,拉取在线用户
  • 前瞻断言与后瞻断言:JavaScript 正则表达式的秘密武器
  • 昇思MindSpore学习总结十六 —— 基于MindSpore的GPT2文本摘要
  • React Router 6笔记
  • Android init 中的wait_for_property指令
  • 智能合约语言(eDSL)—— 并行化方案——调度算法
  • vue2.0中如何实现数据监听
  • kafka开启kerberos和ACL
  • QT+winodow 代码适配调试总结(三)
  • Linux之旅:常用的指令,热键和权限管理
  • 简单实用的企业舆情安全解决方案
  • 【中项】系统集成项目管理工程师-第2章 信息技术发展-2.1信息技术及其发展-2.1.1计算机软硬件与2.1.2计算机网络
  • SpringBoot集成Sharding-JDBC-5.3.0实现按月动态建表分表
  • ubuntu 上安装中文输入法
  • Postman导出excel文件
  • 你还在手动构建Python项目吗?PyBuilder让一切自动化!
  • WebRTC音视频-前言介绍