0

我想在使用 YOLOv4 网络摄像头识别时捕获识别的框。

所以我使用了这段代码。

import cv2
import detect as dt
from darknet import Darknet
from PIL import Image
vidcap = cv2.VideoCapture(0)
success, image = vidcap.read()
count = 0
m = Darknet('darknet/data/yolo-obj.cfg')
m.load_weights('darknet/backup/yolo-obj_30000.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('Desktop/captureyolobox/capture%04d.jpg'%(count), 'w')
    for i in range(len(boxes)):
        result.write(boxes[i])
    count = count + 1
    success, image = vidcap.read()
    result.close()

我遇到过这个问题。我在网上冲浪以解决问题,但我找不到。你能帮助我吗?

Traceback (most recent call last):

  File "yoloshort.py", line 2, in <module>

    import detect as dt

ImportError: No module named detect
4

1 回答 1

0

你的意思是darknet.py中的detect_image吗?你可以检查你想要的或不想要的darknet.py。

于 2021-09-17T08:21:10.637 回答