laview_and_python_face_recognition.zip
使用python3.6(64位)和Labview2019(64位)联合开发的人脸检测和人脸识别功能的demo。必须在windows(64位)系统上运行。同时,Labview必须安装VAS模块。小伙伴下载后,请先阅读readme.txt文件。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 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.pyFace_recognition.py
文件 4764 2019-12-04 19:43 laview_and_python_face_recognition.pyFeatures.py
文件 32 2019-12-02 21:28 laview_and_python_face_recognition.pyimg_name_data.txt
目录 0 2019-12-02 20:31 laview_and_python_face_recognition.pymodel
文件 22466066 2019-11-13 19:58 laview_and_python_face_recognition.pymodeldlib_face_recognition_resnet_model_v1.dat
文件 4730 2019-12-02 21:28 laview_and_python_face_recognition.pymodelface_model.npz
文件 99693937 2019-11-12 21:31 laview_and_python_face_recognition.pymodelshape_predictor_68_face_landmarks.dat
文件 1131 2019-12-02 21:21 laview_and_python_face_recognition.pySql.py
目录 0 2019-12-04 20:22 laview_and_python_face_recognitiondata
文件 528384 2019-12-04 20:22 laview_and_python_face_recognitiondata est.mdb
目录 0 2019-12-04 20:21 laview_and_python_face_recognitionimg
文件 446 2019-12-02 23:30 laview_and_python_face_recognition
eadme.txt
目录 0 2019-12-02 23:30 laview_and_python_face_recognitionvi
文件 11544 2019-12-02 14:16 laview_and_python_face_recognitionvi1D_to_2D.vi
文件 10215 2019-12-01 13:31 laview_and_python_face_recognitionviMax(ID).vi
文件 94314 2019-12-03 23:53 laview_and_python_face_recognitionvi主界面.vi
文件 11696 2019-12-02 23:04 laview_and_python_face_recognitionvi人脸识别.vi
文件 44140 2019-12-02 11:02 laview_and_python_face_recognitionvi信息.vi
文件 20670 2019-12-02 11:12 laview_and_python_face_recognitionvi始终包含VI路径修改.vi
文件 10296 2019-11-30 22:32 laview_and_python_face_recognitionvi特征提取.vi
文件 10928 2019-12-01 13:25 laview_and_python_face_recognitionvi相同工号个数.vi
#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.pyFace_recognition.py
文件 4764 2019-12-04 19:43 laview_and_python_face_recognition.pyFeatures.py
文件 32 2019-12-02 21:28 laview_and_python_face_recognition.pyimg_name_data.txt
目录 0 2019-12-02 20:31 laview_and_python_face_recognition.pymodel
文件 22466066 2019-11-13 19:58 laview_and_python_face_recognition.pymodeldlib_face_recognition_resnet_model_v1.dat
文件 4730 2019-12-02 21:28 laview_and_python_face_recognition.pymodelface_model.npz
文件 99693937 2019-11-12 21:31 laview_and_python_face_recognition.pymodelshape_predictor_68_face_landmarks.dat
文件 1131 2019-12-02 21:21 laview_and_python_face_recognition.pySql.py
目录 0 2019-12-04 20:22 laview_and_python_face_recognitiondata
文件 528384 2019-12-04 20:22 laview_and_python_face_recognitiondata est.mdb
目录 0 2019-12-04 20:21 laview_and_python_face_recognitionimg
文件 446 2019-12-02 23:30 laview_and_python_face_recognition
eadme.txt
目录 0 2019-12-02 23:30 laview_and_python_face_recognitionvi
文件 11544 2019-12-02 14:16 laview_and_python_face_recognitionvi1D_to_2D.vi
文件 10215 2019-12-01 13:31 laview_and_python_face_recognitionviMax(ID).vi
文件 94314 2019-12-03 23:53 laview_and_python_face_recognitionvi主界面.vi
文件 11696 2019-12-02 23:04 laview_and_python_face_recognitionvi人脸识别.vi
文件 44140 2019-12-02 11:02 laview_and_python_face_recognitionvi信息.vi
文件 20670 2019-12-02 11:12 laview_and_python_face_recognitionvi始终包含VI路径修改.vi
文件 10296 2019-11-30 22:32 laview_and_python_face_recognitionvi特征提取.vi
文件 10928 2019-12-01 13:25 laview_and_python_face_recognitionvi相同工号个数.vi
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)