python 人脸识别gui代码
时间: 2024-06-08 12:03:02 浏览: 149
python实现人脸识别代码
5星 · 资源好评率100%
Python 人脸识别GUI代码需要结合一些第三方库实现。以下是一个基于Tkinter和OpenCV的简单示例代码:
```python
import cv2
import tkinter as tk
from PIL import Image, ImageTk
class FaceRecognitionGUI:
def __init__(self, master):
self.master = master
self.master.title("人脸识别GUI")
self.video_source = 0
# 创建Tkinter组件
self.label = tk.Label(self.master)
self.label.pack()
self.quit_button = tk.Button(self.master, text="退出", command=self.close_window)
self.quit_button.pack()
# 初始化OpenCV摄像头
self.cap = cv2.VideoCapture(self.video_source)
# 开始视频流循环
self.update_video_stream()
def update_video_stream(self):
# 从摄像头读取一帧图像
ret, frame = self.cap.read()
# 进行人脸检测
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
face_cascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.3, minNeighbors=5)
# 在图像中绘制人脸框并显示
for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
# 将OpenCV图像转换为Tkinter图像并显示
image = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
image = Image.fromarray(image)
image = ImageTk.PhotoImage(image)
self.label.configure(image=image)
self.label.image = image
# 每10毫秒更新一次视频流
self.master.after(10, self.update_video_stream)
def close_window(self):
self.cap.release()
self.master.destroy()
# 创建主窗口并运行程序
root = tk.Tk()
app = FaceRecognitionGUI(root)
root.mainloop()
```
在这个示例代码中,我们使用OpenCV的人脸检测算法检测摄像头中的人脸,并在图像中绘制人脸框。然后将OpenCV图像转换为Tkinter图像并在GUI界面上显示。
阅读全文