print("Usage: %s [v4l input device or image]\n" % (sys.argv[0])) sys.exit(0) devicepath = sys.argv[1] net = get_model("yolov4_tiny", num_threads=4, use_gpu=True) # net = get_model("yolov4", num_threads=4, use_gpu=True) if devicepath.find("/dev/video") == -1: m = cv2.imread(devicepath) if m is None: print("cv2.imread %s failed\n" % (devicepath)) sys.exit(0) objects = net(m) draw_detection_objects(m, net.class_names, objects) else: cap = cv2.VideoCapture(devicepath) if cap.isOpened() == False: print("Failed to open %s" % (devicepath)) sys.exit(0) while True: ret, frame = cap.read() objects = net(frame) draw_detection_objects(frame, net.class_names, objects)
from ncnn.model_zoo import get_model from ncnn.utils import draw_detection_objects use_gpu = False if ncnn.build_with_gpu(): use_gpu = True if __name__ == "__main__": if len(sys.argv) != 2: print("Usage: %s [imagepath]\n" % (sys.argv[0])) sys.exit(0) imagepath = sys.argv[1] m = cv2.imread(imagepath) if m is None: print("cv2.imread %s failed\n" % (imagepath)) sys.exit(0) if use_gpu: ncnn.create_gpu_instance() net = get_model('mobilenetv3_ssdlite', num_threads=4, use_gpu=use_gpu) objects = net(m) if use_gpu: ncnn.destroy_gpu_instance() draw_detection_objects(m, net.class_names, objects, 0.6)