python摄像头人脸识别门禁系统代码
代码语言:python
所属分类:其他
代码描述:python人脸识别门禁系统代码,调用摄像头实时识别,可录入人脸数据,记录抓怕陌生人闯入照片。
代码标签: python 摄像头 人脸 识别 门禁 系统 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
#!/usr/local/python3/bin/python3 # -*- coding: utf-8 -* import cv2 import face_recognition import numpy as np import os import json from datetime import datetime from tkinter import * from tkinter import ttk, messagebox, filedialog from PIL import Image, ImageTk import threading import requests # 用于模拟 API 调用 # ==================== 配置 ==================== DATA_DIR = "face_data" CAPTURE_DIR = "captures" os.makedirs(DATA_DIR, exist_ok=True) os.makedirs(CAPTURE_DIR, exist_ok=True) DATABASE_FILE = os.path.join(DATA_DIR, "database.json") # 初始化数据库 if not os.path.exists(DATABASE_FILE): with open(DATABASE_FILE, 'w') as f: json.dump([], f) # ==================== 人脸数据库管理 ==================== class FaceDatabase: def __init__(self): self.encodings = [] self.names = [] self.load_database() def load_database(self): """从 JSON 加载人脸数据""" self.encodings = [] self.names = [] try: with open(DATABASE_FILE, 'r') as f: data = json.load(f) for item in data: img = face_recognition.load_image_file(os.path.join(DATA_DIR, item['image'])) encoding = face_recognition.face_encodings(img) if encoding: self.encodings.append(encoding[0]) self.names.append(item['name']) except Exception as e: print("加载数据库失败:", e) def add_face(self, name, image_path): """添加新人脸""" img = face_recognition.load_image_file(image_path) encodings = face_recognition.face_encodings(img) if not .........完整代码请登录后点击上方下载按钮下载查看
网友评论0