Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何用暗色检测视频中的物体?_Python_Python 3.x_Yolo - Fatal编程技术网

Python 如何用暗色检测视频中的物体?

Python 如何用暗色检测视频中的物体?,python,python-3.x,yolo,Python,Python 3.x,Yolo,我正在使用暗网来检测图像中的物体,它非常有用。此外,我还想从计算机中的视频中检测对象 我安装了Open CV,但我的计算机没有GPU。我想我应该更改我的darknet.py文件中的某些内容。但是我应该添加什么代码呢?你能给我一个明确的指示吗?提前感谢。如果您仔细查看darknet.py文件,您将发现如何从给定图像中提取对象的示例。你试过了吗?如果你没有,我建议你在进入视频之前先尝试一下 然后你需要进入视频。到OpenCV文档,说明如何读取视频文件和流。从这段代码中,您将能够提取视频的帧 然后,您

我正在使用暗网来检测图像中的物体,它非常有用。此外,我还想从计算机中的视频中检测对象


我安装了Open CV,但我的计算机没有GPU。我想我应该更改我的darknet.py文件中的某些内容。但是我应该添加什么代码呢?你能给我一个明确的指示吗?提前感谢。

如果您仔细查看
darknet.py
文件,您将发现如何从给定图像中提取对象的示例。你试过了吗?如果你没有,我建议你在进入视频之前先尝试一下

然后你需要进入视频。到
OpenCV
文档,说明如何读取视频文件和流。从这段代码中,您将能够提取视频的帧

然后,您可以使用
darkint.py
中的代码,并将帧馈送给它

如果没有,则可以使用深色包装
对一。有一个文档,您可以阅读并安装在您的机器上。它很容易使用。它已经有了一个关于如何在图像上使用它的示例。您可以修改它并处理视频

import numpy as np
import cv2
import pyyolo

cap = cv2.VideoCapture('vtest.avi')
meta_filepath = "/home/rameshpr/Downloads/darknet_google_server/data/obj.data"
cfg_filepath = "/home/rameshpr/Downloads/darknet_google_server/cfg/yolo-lb.cfg"
weights_filepath = "/home/rameshpr/Downloads/darknet_google_server/backup/yolo-v3.weights"


meta = pyyolo.load_meta(meta_filepath)
net = pyyolo.load_net(cfg_filepath, weights_filepath, False)

while(cap.isOpened()):
    ret, frame = cap.read()
    if not ret:
        break

    yolo_img = pyyolo.array_to_image(frame)
    res = pyyolo.detect(net, meta, yolo_img)

    for r in res:
        cv2.rectangle(frame, r.bbox.get_point(pyyolo.BBox.Location.TOP_LEFT, is_int=True),
                      r.bbox.get_point(pyyolo.BBox.Location.BOTTOM_RIGHT, is_int=True), (0, 255, 0), 2)


    cv2.imshow('frame', frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

安装完
pyyolo

后,请尝试上面的代码。这是一个全新的操作,如果它是由darknet提供的,那么它将包含在他们的文档中。我试图在github上找到答案:(