Skip to main content

使用这个库,您可以用几行代码从视频、图像中检测对象

项目描述

在这个项目中,我使用 YoloV4 进行对象检测。要使用 YoloV4 和 OpenCv 检测对象,您必须编写多行代码,但使用此框架,您只需几行代码即可完成此操作。

安装

pip install object_detector

从视频中提取图像

从库中导入ExtractImagesobject_detector

>>> from object_detector import ExtractImages

创建extExtractImages对象

>>> ext = ExtractImages(path=0)

path=0如果要从视频中提取图像,请写视频路径代替 0。

或者您可以创建指定输出路径的对象

>>> ext = ExtractImages(path=0,op=MyOutput)

默认输出路径为输出

开始提取图像。

>>> ext.extract("A","B","C")

A、B、C 是提取图像采集的路径。“A”的相对路径是MyOutput/A

注意:我们在多个路径中提取图像,以便我们可以同时运行我们的对象检测任务。

物体检测

从库中导入ObjectDetectorobject_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 查看哈希)

已上传 source

内置分布

object_detector-1.9-py3-none-any.whl (5.3 kB 查看哈希)

已上传 py3