import cv2
import socket
import io
import numpy as np
import os
from PIL import Image
import serial
# coding=utf-8
import urllib
import urllib.request
import hashlib
aa = 0
#加载训练数据集文件
recogizer=cv2.face.LBPHFaceRecognizer_create()
recogizer.read('trainer/trainer.yml')
names=[]
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)
s.bind(("0.0.0.0",9090))
def face_detect_demo(img):
global aa
img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#转换为灰度
face_detector = cv2.CascadeClassifier('C:/Users/16275/AppData/Local/Programs/Python/Python39/Lib/site-packages/cv2/data/haarcascade_frontalface_alt2.xml')
face=face_detector.detectMultiScale(gray,1.1,5,cv2.CASCADE_SCALE_IMAGE,(100,100),(300,300))
for x,y,w,h in face:
cv2.rectangle(img,(x,y),(x+w,y+h),color=(0,0,255),thickness=2)
cv2.circle(img,center=(x+w//2,y+h//2),radius=w//2,color=(0,255,0),thickness=1)
# 人脸识别
ids, confidence = recogizer.predict(gray[y:y + h, x:x + w])
#print('标签id:',ids,'置信评分:', confidence) 置信度评分用来衡量所识别人脸与原模型的差距,0 表示完全匹配。
if confidence > 50:
cv2.putText(img, 'unkonw', (x + 10, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.75, (0, 255, 0), 1)
print("FFFFFF")
else:
cv2.putText(img,str(names[ids-1]), (x + 10, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.75, (0, 255, 0), 1)
s.sendto(b'3', ("192.168.43.228", 9090))
print("YYYYYYY")
try:
port = "COM7"
bps = 9600
timeout = 5
# 打开串口,并返回串口对象
uart = serial.Serial(port, bps, timeout=timeout)
# 要发送的数据(十六进制)
hex_data = "ffabcdfe"
# 将十六进制数据转换为字节数据
data = bytes.fromhex(hex_data)
# 串口发送数据
length = uart.write(data)
print("发送数据长度:", length)
# 关闭串口
uart.close()
except Exception as result:
print("******错误******:", result)
cv2.imshow('result',img)
aa += 1
def name():
path = './img/'
imagePaths=[os.path.join(path,f) for f in os.listdir(path)]
for imagePath in imagePaths:
name = str(os.path.split(imagePath)[1].split('.',2)[1])
names.append(name)
name()
while True:
data, IP = s.recvfrom(100000)
bytes_stream = io.BytesIO(data)
image = Image.open(bytes_stream)
img = np.asarray(image)
face_detect_demo(img)
if ord(' ') == cv2.waitKey(10):
break
cv2.destroyAllWindows()
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会及时为你解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明,项目具体内容可查看下方的资源详情。 【附带帮助】: 若还需要嵌入式物联网单片机相关领域开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步。 【本人专注嵌入式领域】: 有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为你提供帮助,CSDN博客端可私信,为你解惑,欢迎交流。 【建议小白】: 在所有嵌入式开发中硬件部分若不会画PCB/电路,可选择根据引脚定义将其代替为面包板+杜邦线+外设模块的方式,只需轻松简单连线,下载源码烧录进去便可轻松复刻出一样的项目 【适合场景】: 相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可以基于此项目进行扩展来开发出更多功能
资源推荐
资源详情
资源评论
收起资源包目录
基于opencv的人脸识别(硬件实现于esp32-cam).zip (30个子文件)
Archiell
python
数据训练.py 1KB
ESP32摄像头人脸录入.py 633B
.idea
face.iml 398B
misc.xml 185B
inspectionProfiles
Project_Default.xml 410B
modules.xml 260B
.gitignore 182B
ESP32-cam摄像头识别.py 3KB
img
15.ln.jpg 40KB
11.ln.jpg 39KB
3.ln.jpg 38KB
20.ln.jpg 36KB
19.ln.jpg 36KB
9.ln.jpg 38KB
2.ln.jpg 38KB
18.ln.jpg 36KB
5.ln.jpg 36KB
8.ln.jpg 39KB
12.ln.jpg 38KB
7.ln.jpg 40KB
14.ln.jpg 40KB
16.ln.jpg 38KB
10.ln.jpg 39KB
13.ln.jpg 37KB
4.ln.jpg 40KB
6.ln.jpg 38KB
17.ln.jpg 35KB
1.ln.jpg 38KB
trainer
trainer.yml 2.86MB
esp32-cam
camera.py 1KB
共 30 条
- 1
资源评论
- YYY_95272024-12-06资源有一定的参考价值,与资源描述一致,很实用,能够借鉴的部分挺多的,值得下载。
- 奋斗的鸭子毛2024-04-27这个资源总结的也太全面了吧,内容详实,对我帮助很大。
阿齐Archie
- 粉丝: 3w+
- 资源: 2474
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- matlab平台的的语音滤波设计.zip
- matlab平台的汉字语音识别.zip
- matlab平台的汉字识别.zip
- matlab平台的的运动行为检测.zip
- matlab平台的火焰识别系统设计.zip
- matlab平台的基于DWT+SVD结合傅里叶变换的数字图像水印水印系统.zip
- matlab平台的火焰烟雾检测.zip
- matlab平台的教室人数统计.zip
- matlab平台的交通道路标识识别.zip
- matlab平台的家居防火识别系统.zip
- matlab平台的考勤系统设计.zip
- matlab平台的口罩检测.zip
- matlab平台的金属表面缺陷分析.zip
- matlab平台的口罩识别设计.zip
- matlab平台的口罩识别.zip
- matlab平台的口罩识别检测.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功