我正在研究检测对象的项目,并且正在研究使用Anaconda提取yolo v3检测到的对象的图像。这就是我安装Python并运行yolo v3的方式:https://github.com/reigngt09/yolov3workflow/tree/master/2_YoloV3_Execute 问题是我对Python不了解。视频运行时是否可以提取图像并将其存储在单独的文件中?
答案 0 :(得分:1)
这是一种可用的方法。
下面我使用的代码,
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()