使用这个库,您可以用几行代码从视频、图像中检测对象
项目描述
在这个项目中,我使用 YoloV4 进行对象检测。要使用 YoloV4 和 OpenCv 检测对象,您必须编写多行代码,但使用此框架,您只需几行代码即可完成此操作。
安装
pip install object_detector
从视频中提取图像
从库中导入ExtractImages
类object_detector
>>> from object_detector import ExtractImages
创建ext
类ExtractImages
对象
>>> ext = ExtractImages(path=0)
path=0
如果要从视频中提取图像,请写视频路径代替 0。
或者您可以创建指定输出路径的对象
>>> ext = ExtractImages(path=0,op=MyOutput)
默认输出路径为输出
开始提取图像。
>>> ext.extract("A","B","C")
A、B、C 是提取图像采集的路径。“A”的相对路径是MyOutput/A
注意:我们在多个路径中提取图像,以便我们可以同时运行我们的对象检测任务。
物体检测
从库中导入ObjectDetector
类object_detector
>>> from object_detector import ObjectDetector
创建obj
类对象ObjectDetector
>>> obj = ObjectDetector(weights="cars.weights", cfg="yolov4-custom.cfg", classes=['licence'])
对象检测是使用 YoLo 完成的。cars.weights
是通过暗网训练图像数据集生成的训练文件,我们使用yolov4-custom.cfg
.
>>> img = obj.detect_object(path)
写入要从中检测对象的图像路径。
img
是图像的 numpy 数组。从 numpy 数组写入图像
>>> import cv2
>>> cv2.imshow("Image_Name",img)
或者你可以写
>>> import matplotlib.pyplot as plt
>>> plt.imshow(img)
如果您想要没有标签的图像,请将代码写为
>>> img = obj.detect_object(path,label=False)
如果您只想在img
从图像中检测到 obj 时将代码编写为
>>> img = detect_object(path,detected_only=True)
要阅读图像上的文本,请添加以下代码
>>> text = extract_text()
显示或写入来自视频或相机的对象
导入 LiveDetect 类并创建该类的对象。
l = LiveDetect(weights="cars.weights", cfg="yolov4-custom.cfg", classes=['licence'])
在视频上检测到对象时保存图像。
l.write_from_video(path="Traffic.mp4")
在视频上检测到对象时显示图像。
l.show_from_video(path="Traffic.mp4")
在目录上检测到对象时保存图像。
l.write_from_dir(path="Traffic.mp4")
在目录上检测到对象时显示图像。
l.show_from_dir(path="Traffic.mp4")
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
object_detector-1.9.tar.gz
(4.7 kB
查看哈希)
内置分布
object_detector-1.9-py3-none-any.whl
(5.3 kB
查看哈希)