图片中行人检测GUI代码
时间: 2024-05-16 17:14:48 浏览: 117
基于YOLOX的行人检测系统
这是一个使用Python和OpenCV库实现的行人检测GUI代码示例:
```python
import cv2
import tkinter as tk
from tkinter import filedialog
def select_image():
# 打开文件选择对话框
path = filedialog.askopenfilename()
if len(path) > 0:
# 加载图像
image = cv2.imread(path)
# 转换为灰度图像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 加载行人检测器
pedestrian_cascade = cv2.CascadeClassifier('haarcascade_pedestrian.xml')
# 检测行人
pedestrians = pedestrian_cascade.detectMultiScale(gray, 1.3, 5)
# 在图像上绘制行人框
for (x,y,w,h) in pedestrians:
cv2.rectangle(image,(x,y),(x+w,y+h),(0,0,255),2)
# 显示图像
cv2.imshow("Pedestrian Detection", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 创建主窗口
root = tk.Tk()
root.title("Pedestrian Detection")
root.geometry("300x100")
# 添加选择图像按钮
select_button = tk.Button(root, text="Select Image", command=select_image)
select_button.pack()
# 运行主循环
root.mainloop()
```
在这个示例中,我们使用了OpenCV库中的Haar级联分类器来检测行人。Haar级联分类器是一种基于Haar特征的物体检测器,它可以训练出用于检测不同物体的分类器,例如行人、车辆、面部等。我们使用了一个预训练的行人检测器,它已经包含在OpenCV库中。我们还使用了Tkinter库创建了一个简单的GUI,其中包含一个选择图像的按钮。当用户选择图像并点击按钮时,我们加载图像并运行行人检测器,然后在图像上绘制行人框并显示图像。
阅读全文