【问题标题】:yolo v3 how to extract an image of a detected objectyolo v3如何提取检测到的物体的图像
【发布时间】:2019-02-04 17:06:13
【问题描述】:

我正在开发一个检测对象的项目,并且我正在使用 Anaconda 提取 yolo v3 检测到的对象的图像。这就是我安装 Python 并运行 yolo v3 的方式:https://github.com/reigngt09/yolov3workflow/tree/master/2_YoloV3_Execute 问题是我对Python一无所知。是否可以在视频运行时提取图像并将它们存储在单独的文件中?

【问题讨论】:

    标签: python anaconda object-detection yolo


    【解决方案1】:

    这是一种可用的方法。

    1. 从视频中提取图像
    2. 为每张图片调用检测函数
    3. 使用边界框存储每个图像

    下面是我使用的代码,

    import cv2
    import detect as dt
    from darknet import Darknet
    from PIL import Image
    
    vidcap = cv2.VideoCapture('your/video/path.mp4')
    success, image = vidcap.read()
    count = 0
    
    m = Darknet('your/cfg/file/path.cfg')
    m.load_weights('weight/file/path.weights')
    use_cuda = 1
    m.cuda()
    
    while success:
        image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
        im_pil = Image.fromarray(image)
        im_pil = im_pil.resize((m.width, m.height))
        boxes = dt.do_detect(m, im_pil, 0.5, 0.4, use_cuda)
    
        result = open('your/save/file/path/frame%04d.txt'%(count), 'w')
        for i in range(len(boxes)):
            result.write(boxes[i])
        count = count + 1
        success, image = vidcap.read()
        result.close()
    

    【讨论】:

    • 嗨,罗伊,感谢您的回答!我应该将上面的这段代码添加到 video_demo.py 吗?或者我必须创建一个全新的 .py 文件?我不是最擅长 python
    • 您也可以在新的 .py 文件中使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-22
    • 2017-11-16
    • 2021-11-29
    • 1970-01-01
    • 2020-04-24
    • 2015-01-26
    相关资源
    最近更新 更多