首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用暗网检测视频中的对象?

如何使用暗网检测视频中的对象?
EN

Stack Overflow用户
提问于 2018-09-29 10:49:47
回答 1查看 3.6K关注 0票数 0

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

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

EN

回答 1

Stack Overflow用户

发布于 2018-11-17 18:57:49

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

然后,你将需要进入视频领域。Here is a link to OpenCV文档,它们解释了如何读取视频文件和流。从这段代码中,您将能够提取视频的帧。

然后,您可以使用darkent.py中的代码并将帧提供给它。

如果不是这样,有一些暗色的包装器可能会很有用。

Here is a link为1。有一个文档,您可以阅读并将其安装在您的机器上。它非常容易使用。它已经有一个关于如何在图像上使用它的例子。您可以对其进行修改并处理视频。

代码语言:javascript
复制
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之后尝试上面的代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52564664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档