📅  最后修改于: 2023-12-03 14:56:22.332000             🧑  作者: Mango
这是一个使用 Python 和 OpenCV 库编写的程序,旨在检测视频帧中的车辆。它使用计算机视觉技术来识别图像中的车辆,并在检测到车辆时进行标记。
import cv2
# 加载视频文件或从摄像头捕获
video_capture = cv2.VideoCapture('video_file.mp4')
# video_capture = cv2.VideoCapture(0) # 使用摄像头捕获
# 加载车辆检测的训练模型
car_classifier = cv2.CascadeClassifier('car_classifier.xml')
while True:
# 读取帧
ret, frame = video_capture.read()
# 将当前帧转换为灰度图像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 使用训练模型进行车辆检测
cars = car_classifier.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
# 在识别到的车辆上绘制矩形框
for (x, y, w, h) in cars:
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
# 显示带有标记的帧
cv2.imshow('Car Detection', frame)
# 按下 'q' 键退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放视频捕获资源
video_capture.release()
cv2.destroyAllWindows()
cv2.VideoCapture()
方法加载一个视频文件或打开摄像头进行实时捕获。cv2.CascadeClassifier()
方法载入训练好的车辆检测模型。你可以使用 OpenCV 提供的默认模型,也可以使用自己训练的模型。scaleFactor
、minNeighbors
和 minSize
参数。通过这个程序,你可以利用 OpenCV 和 Python 进行车辆检测。你可以更改和优化检测参数,以适应不同场景下的车辆检测需求。希望这个程序能对你在计算机视觉领域的开发工作有所帮助!