|
|
|
|
|
|
|
|
shape0, shape1, files = [], [], [] # image and inference shapes, filenames |
|
|
shape0, shape1, files = [], [], [] # image and inference shapes, filenames |
|
|
for i, im in enumerate(imgs): |
|
|
for i, im in enumerate(imgs): |
|
|
if isinstance(im, str): # filename or uri |
|
|
if isinstance(im, str): # filename or uri |
|
|
im = Image.open(requests.get(im, stream=True).raw if im.startswith('http') else im) # open |
|
|
|
|
|
|
|
|
im, f = Image.open(requests.get(im, stream=True).raw if im.startswith('http') else im), im # open |
|
|
|
|
|
im.filename = f # for uri |
|
|
files.append(Path(im.filename).with_suffix('.jpg').name if isinstance(im, Image.Image) else f'image{i}.jpg') |
|
|
files.append(Path(im.filename).with_suffix('.jpg').name if isinstance(im, Image.Image) else f'image{i}.jpg') |
|
|
im = np.array(im) # to numpy |
|
|
im = np.array(im) # to numpy |
|
|
if im.shape[0] < 5: # image in CHW |
|
|
if im.shape[0] < 5: # image in CHW |
|
|
|
|
|
|
|
|
n = (pred[:, -1] == c).sum() # detections per class |
|
|
n = (pred[:, -1] == c).sum() # detections per class |
|
|
str += f"{n} {self.names[int(c)]}{'s' * (n > 1)}, " # add to string |
|
|
str += f"{n} {self.names[int(c)]}{'s' * (n > 1)}, " # add to string |
|
|
if show or save or render: |
|
|
if show or save or render: |
|
|
img = Image.fromarray(img.astype(np.uint8)) if isinstance(img, np.ndarray) else img # from np |
|
|
|
|
|
|
|
|
img = Image.fromarray(img) if isinstance(img, np.ndarray) else img # from np |
|
|
for *box, conf, cls in pred: # xyxy, confidence, class |
|
|
for *box, conf, cls in pred: # xyxy, confidence, class |
|
|
# str += '%s %.2f, ' % (names[int(cls)], conf) # label |
|
|
# str += '%s %.2f, ' % (names[int(cls)], conf) # label |
|
|
ImageDraw.Draw(img).rectangle(box, width=4, outline=colors[int(cls) % 10]) # plot |
|
|
ImageDraw.Draw(img).rectangle(box, width=4, outline=colors[int(cls) % 10]) # plot |