yolo v3如何提取检测到的物体的图像

时间:2019-02-04 17:06:14

标签: python anaconda object-detection yolo

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

1 个答案:

答案 0 :(得分: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()