| | |
| | | #lib = CDLL("darknet.so", RTLD_GLOBAL) |
| | | hasGPU = True |
| | | if os.name == "nt": |
| | | winGPUdll = "yolo_cpp_dll.dll" |
| | | winNoGPUdll = "yolo_cpp_dll_nogpu.dll" |
| | | cwd = os.path.dirname(__file__) |
| | | os.environ['PATH'] = cwd + ';' + os.environ['PATH'] |
| | | winGPUdll = os.path.join(cwd, "yolo_cpp_dll.dll") |
| | | winNoGPUdll = os.path.join(cwd, "yolo_cpp_dll_nogpu.dll") |
| | | envKeys = list() |
| | | for k, v in os.environ.items(): |
| | | envKeys.append(k) |
| | | try: |
| | | tmp = os.environ["CUDA_HOME"] |
| | | try: |
| | | tmp = os.environ["FORCE_CPU"].lower() |
| | | if tmp in ["1", "true", "yes", "on"]: |
| | |
| | | lib = CDLL(winGPUdll, RTLD_GLOBAL) |
| | | print("Environment variables indicated a CPU run, but we didn't find `"+winNoGPUdll+"`. Trying a GPU run anyway.") |
| | | else: |
| | | lib = CDLL("./libdarknet.so", RTLD_GLOBAL) |
| | | lib = CDLL("./darknet.so", RTLD_GLOBAL) |
| | | lib.network_width.argtypes = [c_void_p] |
| | | lib.network_width.restype = c_int |
| | | lib.network_height.argtypes = [c_void_p] |
| | |
| | | """ |
| | | #pylint: disable= C0321 |
| | | im = load_image(image, 0, 0) |
| | | #import cv2 |
| | | #custom_image_bgr = cv2.imread(image) # use: detect(,,imagePath,) |
| | | #custom_image = cv2.cvtColor(custom_image_bgr, cv2.COLOR_BGR2RGB) |
| | | #custom_image = cv2.resize(custom_image,(lib.network_width(net), lib.network_height(net)), interpolation = cv2.INTER_LINEAR) |
| | | #import scipy.misc |
| | | #sci_image = scipy.misc.imread(image) |
| | | #im, arr = array_to_image(sci_image) # you should comment line below: free_image(im) |
| | | #custom_image = scipy.misc.imread(image) |
| | | #im, arr = array_to_image(custom_image) # you should comment line below: free_image(im) |
| | | if debug: print("Loaded image") |
| | | num = c_int(0) |
| | | if debug: print("Assigned num") |
| | |
| | | if debug: print("Assigned pnum") |
| | | predict_image(net, im) |
| | | if debug: print("did prediction") |
| | | dets = get_network_boxes(net, im.w, im.h, thresh, hier_thresh, None, 0, pnum, 1) |
| | | #dets = get_network_boxes(net, custom_image_bgr.shape[1], custom_image_bgr.shape[0], thresh, hier_thresh, None, 0, pnum, 0) # OpenCV |
| | | dets = get_network_boxes(net, im.w, im.h, thresh, hier_thresh, None, 0, pnum, 0) |
| | | if debug: print("Got dets") |
| | | num = pnum[0] |
| | | if debug: print("got zeroth index of pnum") |
| | |
| | | if not os.path.exists(imagePath): |
| | | raise ValueError("Invalid image path `"+os.path.abspath(imagePath)+"`") |
| | | # Do the detection |
| | | #detections = detect(netMain, metaMain, imagePath, thresh) # if is used cv2.imread(image) |
| | | detections = detect(netMain, metaMain, imagePath.encode("ascii"), thresh) |
| | | if showImage: |
| | | try: |