资源简介
使用python3.6(64位)和Labview2019(64位)联合开发的人脸检测和人脸识别功能的demo。必须在windows(64位)系统上运行。同时,Labview必须安装VAS模块。小伙伴下载后,请先阅读readme.txt文件。
代码片段和文件信息
#coding:utf-8
import dlib
import cv2
import os
import numpy as np
#获得当前项目的根目录——也就是当前脚本的目录的上一级目录
object_path = os.path.dirname(os.getcwd())
#导入正脸探测器(实例化)
detector = dlib.get_frontal_face_detector()
#导入人脸关键点识别器
predictor = dlib.shape_predictor(object_path + ‘/.py/model/shape_predictor_68_face_landmarks.dat‘)
#导入人脸识别模型
model = dlib.face_recognition_model_v1(object_path + ‘/.py/model/dlib_face_recognition_resnet_model_v1.dat‘)
class Test_face:
def init(self):
self.dist = [] #测试图像与已有图像特征的欧式距离列表
self.face_rect = None
self.name = None
def test_face(selfphotoface_data):
test_gray_img = cv2.cvtColor(photo cv2.COLOR_BGR2GRAY)
#使用探测器识别每张图像中的人脸,形成一个人脸列表
self.face_rect = detector(test_gray_img 1)
#索引每一个人脸区域
if len(self.face_rect) != 0:
for i det in enumerate(self.face_rect):
#获取每个人脸的68个特征点
test_face_predictor = predictor(photo det)
#获取每个人脸特征向量
test_face_feature = model.compute_face_descriptor(photo test_face_predictor)
#将数据类型转换为Numpy类型
test_value = np.array(test_face_feature)
#将测试图像的人脸特征向量和已知人脸特征向量求范数(范数还是没明白)
for i in face_data[‘face_features‘]:
dist_ = np.linalg.norm(i - test_value)
self.dist.append(dist_)
#将名字和计算的欧式距离组合为字典
names_dist = dict(zip(face_data[‘names‘] self.dist))
names_dist_sorted = sorted(names_dist.items() key=lambda x: x[1])
# #debug
# print(names_dist_sorted)
#规定相识度不得小于0.4
if names_dist_sorted[0][1] > 0.4:
self.name = ‘Unkonw‘
else:
self.name = names_dist_sorted[0][0]
return self.name
#一维转三维
def Transfor(a):
flatNumpyArray = np.array(a)
#重排数组为240*320行,4列的二维数组,另外只要前三列
RGBimage = flatNumpyArray.reshape((240 * 320 4))[: :3]
#c数组的大小必须和图像大小一致
c = np.zeros(shape=(2403203)dtype=np.uint8)
j = 0
for i in range(240*320):
if i%320 == 0:
c[j] = RGBimage[i:i+320]
j += 1
return c
#人脸识别
def CatchPICFromVideo(arraymode_path):
#导入已有模型数据
face_data = np.load(mode_path)
#定义实例对象
recognition_face = Test_face()
recognition_face.init()
#一维转三维
frame = Transfor(array)
name = recognition_face.test_face(frameface_data)
name = name.split(‘_‘)[0]
return name
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-12-02 23:21 laview_and_python_face_recognition\
目录 0 2019-12-04 20:23 laview_and_python_face_recognition\.py\
文件 3131 2019-12-04 20:15 laview_and_python_face_recognition\.py\Face_recognition.py
文件 4764 2019-12-04 19:43 laview_and_python_face_recognition\.py\Features.py
文件 32 2019-12-02 21:28 laview_and_python_face_recognition\.py\img_name_data.txt
目录 0 2019-12-02 20:31 laview_and_python_face_recognition\.py\model\
文件 22466066 2019-11-13 19:58 laview_and_python_face_recognition\.py\model\dlib_face_recognition_resnet_model_v1.dat
文件 4730 2019-12-02 21:28 laview_and_python_face_recognition\.py\model\face_model.npz
文件 99693937 2019-11-12 21:31 laview_and_python_face_recognition\.py\model\shape_predictor_68_face_landmarks.dat
文件 1131 2019-12-02 21:21 laview_and_python_face_recognition\.py\Sql.py
目录 0 2019-12-04 20:22 laview_and_python_face_recognition\data\
文件 528384 2019-12-04 20:22 laview_and_python_face_recognition\data\test.mdb
目录 0 2019-12-04 20:21 laview_and_python_face_recognition\img\
文件 446 2019-12-02 23:30 laview_and_python_face_recognition\readme.txt
目录 0 2019-12-02 23:30 laview_and_python_face_recognition\vi\
文件 11544 2019-12-02 14:16 laview_and_python_face_recognition\vi\1D_to_2D.vi
文件 10215 2019-12-01 13:31 laview_and_python_face_recognition\vi\Max(ID).vi
文件 94314 2019-12-03 23:53 laview_and_python_face_recognition\vi\主界面.vi
文件 11696 2019-12-02 23:04 laview_and_python_face_recognition\vi\人脸识别.vi
文件 44140 2019-12-02 11:02 laview_and_python_face_recognition\vi\信息.vi
文件 20670 2019-12-02 11:12 laview_and_python_face_recognition\vi\始终包含VI路径修改.vi
文件 10296 2019-11-30 22:32 laview_and_python_face_recognition\vi\特征提取.vi
文件 10928 2019-12-01 13:25 laview_and_python_face_recognition\vi\相同工号个数.vi
相关资源
- python实现SGBM图像匹配算法
- python实现灰度直方图均衡化
- scrapy_qunar_one
- Python学习全系列教程永久可用
- python简明教程.chm
- 抽奖大转盘python的图形化界面
- 双边滤波器实验报告及代码python
- python +MYSQL+HTML实现21蛋糕网上商城
- Python-直播答题助手自动检测出题搜索
- OpenCV入门教程+OpenCV官方教程中文版
- Python 串口工具源码+.exe文件
- Python开发的全栈股票系统.zip
- Python操作Excel表格并将其中部分数据写
- python书籍 PDF
- 利用python绘制散点图
- python+labview+No1.vi
- 老男孩python项目实战
- python源码制作whl文件.rar
- python3.5可用的scipy
- PYTHON3 经典50案例.pptx
- 计算机科学导论-python.pdf
- python模拟鼠标点击屏幕
- windows鼠标自动点击py脚本
- 鱼c小甲鱼零基础学python全套课后题和
- Python 练习题100道
- Practical Programming 2nd Edition
- wxPython Application Development Cookbook
- python 3.6
- Python 3.5.2 中文文档 互联网唯一CHM版本
- python3.5.2.chm官方文档
评论
共有 条评论