python 人脸识别并保存到mysql数据库
时间: 2023-09-12 18:08:33 浏览: 98
要实现这个功能,你需要先安装以下库:
- OpenCV:用于图像处理和人脸检测
- mysql-connector-python:用于连接和操作 MySQL 数据库
以下是一个简单的 Python 代码示例,可用于从摄像头捕获图像、检测人脸、将人脸图像保存到本地并将其路径保存到 MySQL 数据库:
```python
import cv2
import mysql.connector
# 连接 MySQL 数据库
db = mysql.connector.connect(
host="localhost",
user="username",
password="password",
database="database_name"
)
cursor = db.cursor()
# 创建人脸识别器
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml")
# 创建摄像头对象
cap = cv2.VideoCapture(0)
while True:
# 从摄像头读取图像
ret, frame = cap.read()
# 将图像转换为灰度图像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 检测人脸
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5)
# 在图像中标记人脸并保存到本地
for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
face_img = frame[y:y+h, x:x+w]
cv2.imwrite("face.jpg", face_img)
# 将人脸图像路径保存到 MySQL 数据库
sql = "INSERT INTO faces (image_path) VALUES ('face.jpg')"
cursor.execute(sql)
db.commit()
# 显示图像
cv2.imshow('frame', frame)
# 按 'q' 键退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放资源
cap.release()
cv2.destroyAllWindows()
db.close()
```
请注意,此示例仅用于演示目的,你需要根据自己的需求对代码进行修改和优化。例如,你可能需要添加人脸识别算法以识别特定的人脸,并将其与数据库中的记录匹配。
阅读全文