1
1
import numpy as np
2
2
import torch
3
3
import matplotlib .pyplot as plt
4
- from PIL import Image , ImageDraw
5
- import sys
4
+ from PIL import Image , ImageDraw , ImageFont
6
5
import math
7
6
import random
8
7
import tqdm
@@ -333,7 +332,8 @@ def drawBox(_img, boxes = None, cls = None, mode = 0, color = (0,255,0)):
333
332
_img_data = np .array (_img , dtype = np .uint8 )
334
333
img_data = Image .fromarray (_img_data , 'L' )
335
334
draw = ImageDraw .Draw (img_data )
336
-
335
+ fontsize = 15
336
+ font = ImageFont .truetype ("./arial.ttf" , fontsize )
337
337
if boxes is not None :
338
338
for i , box in enumerate (boxes ):
339
339
# if (box[4] + box[5]) / 2 < 0.5:
@@ -346,11 +346,11 @@ def drawBox(_img, boxes = None, cls = None, mode = 0, color = (0,255,0)):
346
346
draw .rectangle ((box [0 ] - box [2 ]/ 2 , box [1 ] - box [3 ]/ 2 , box [0 ] + box [2 ]/ 2 , box [1 ] + box [3 ]/ 2 ), outline = (0 ,255 ,0 ), width = 1 )
347
347
else :
348
348
draw .rectangle ((box [0 ],box [1 ],box [2 ],box [3 ]), outline = (0 ,255 ,0 ), width = 1 )
349
- # draw.text((box[0],box[1]), str(int(cls[i])), fill ="red")
349
+ draw .text ((box [0 ],box [1 ]), str (int (cls [i ])), fill = "red" , font = font )
350
350
plt .imshow (img_data )
351
351
plt .show ()
352
352
353
- def drawBoxlist (_img , boxes : list = [], mode : int = 0 ):
353
+ def drawBoxlist (_img , boxes : list = [], mode : int = 0 , name : str = "" ):
354
354
_img = _img * 255
355
355
#img dim is [C,H,W]
356
356
if _img .shape [0 ] == 3 :
@@ -360,13 +360,17 @@ def drawBoxlist(_img, boxes : list = [], mode : int = 0):
360
360
_img_data = np .array (_img , dtype = np .uint8 )
361
361
img_data = Image .fromarray (_img_data , 'L' )
362
362
draw = ImageDraw .Draw (img_data )
363
+ fontsize = 15
364
+ font = ImageFont .truetype ("./arial.ttf" , fontsize )
363
365
for box in boxes :
364
366
if mode == 0 :
365
367
draw .rectangle ((box [0 ] - box [2 ]/ 2 , box [1 ] - box [3 ]/ 2 , box [0 ] + box [2 ]/ 2 , box [1 ] + box [3 ]/ 2 ), outline = (0 ,255 ,0 ), width = 1 )
368
+ draw .text ((box [0 ],box [1 ]), str (int (box [5 ]))+ "," + str (int (box [4 ]* 100 )) , fill = "red" , font = font )
366
369
else :
367
370
draw .rectangle ((box [0 ],box [1 ],box [2 ],box [3 ]), outline = (0 ,255 ,0 ), width = 1 )
368
- plt .imshow (img_data )
369
- plt .show ()
371
+ draw .text ((box [0 ],box [1 ]), str (int (box [5 ]))+ "," + str (int (box [4 ]* 100 )), fill = "red" , font = font )
372
+ #img_data.show("draw")
373
+ img_data .save (name + ".png" )
370
374
371
375
def check_outrange (box , img_size ):
372
376
box = box .detach ().cpu ().numpy ()
@@ -602,7 +606,6 @@ def non_max_suppression(prediction, conf_thres=0.25, iou_thres=0.45, classes=Non
602
606
603
607
return output
604
608
605
-
606
609
def get_lr (optimizer ):
607
610
for param_group in optimizer .param_groups :
608
611
return param_group ['lr' ]
0 commit comments