图片行人检测GUI代码
时间: 2023-10-08 16:07:58 浏览: 65
基于YOLOX的行人检测系统
以下是一个基于Python和OpenCV的图片行人检测GUI代码示例:
```python
import cv2
import tkinter as tk
from tkinter import filedialog
class PedestrianDetectorGUI:
def __init__(self, master):
self.master = master
master.title("Pedestrian Detector")
self.image_path = tk.StringVar()
self.image_path.set("")
self.label = tk.Label(master, text="Select an image to detect pedestrians")
self.label.pack()
self.button = tk.Button(master, text="Browse", command=self.browse_image)
self.button.pack()
self.detect_button = tk.Button(master, text="Detect Pedestrians", command=self.detect_pedestrians)
self.detect_button.pack()
self.quit_button = tk.Button(master, text="Quit", command=master.quit)
self.quit_button.pack()
def browse_image(self):
file_path = filedialog.askopenfilename()
self.image_path.set(file_path)
def detect_pedestrians(self):
image = cv2.imread(self.image_path.get())
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
(rects, weights) = hog.detectMultiScale(image, winStride=(4, 4), padding=(8, 8), scale=1.05)
for (x, y, w, h) in rects:
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 0, 255), 2)
cv2.imshow("Pedestrian Detection", image)
cv2.waitKey(0)
root = tk.Tk()
gui = PedestrianDetectorGUI(root)
root.mainloop()
```
在这个代码中,我们使用了Tkinter库来创建一个简单的GUI,其中包含一个浏览按钮和一个检测按钮。当我们点击浏览按钮时,会弹出一个文件对话框,让我们选择要检测行人的图片。当我们点击检测按钮时,程序会使用HOG检测器来检测行人,并在图像上绘制矩形框来标记行人位置。
注意: 这个代码只是一个简单的示例,可能无法处理大规模的图像。如果你想要使用它来处理大规模的图像,请考虑使用多线程或其他并行处理技术。
阅读全文