| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | import sys |
| | import cv2 |
| | from ncnn.model_zoo import get_model |
| | from ncnn.utils import draw_detection_objects |
| |
|
| | if __name__ == "__main__": |
| | if len(sys.argv) != 2: |
| | 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) |
| | |
| |
|
| | 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) |
| |
|