liuyizhang commited on
Commit
ddc4ac1
1 Parent(s): 15f7af5

update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -32
app.py CHANGED
@@ -416,35 +416,38 @@ def create_title_image(word1, word2, word3, width, font_path='./assets/OpenSans-
416
  # Create a new image with the specified width and white background
417
  image = Image.new('RGB', (width, 60), (255, 255, 255))
418
 
419
- # Load the specified font
420
- font = ImageFont.truetype(font_path, font_size)
421
-
422
- # Keep increasing the font size until all words fit within the desired width
423
- while True:
424
- # Create a draw object for the image
425
- draw = ImageDraw.Draw(image)
426
-
427
- word_spacing = font_size / 2
428
- # Draw each word in the appropriate color
429
- x_offset = word_spacing
430
- draw.text((x_offset, 0), word1, color_red, font=font)
431
- x_offset += font.getsize(word1)[0] + word_spacing
432
- draw.text((x_offset, 0), word2, color_black, font=font)
433
- x_offset += font.getsize(word2)[0] + word_spacing
434
- draw.text((x_offset, 0), word3, color_blue, font=font)
435
-
436
- word_sizes = [font.getsize(word) for word in [word1, word2, word3]]
437
- total_width = sum([size[0] for size in word_sizes]) + word_spacing * 3
438
-
439
- # Stop increasing font size if the image is within the desired width
440
- if total_width <= width:
441
- break
442
-
443
- # Increase font size and reset the draw object
444
- font_size -= 1
445
- image = Image.new('RGB', (width, 50), (255, 255, 255))
446
  font = ImageFont.truetype(font_path, font_size)
447
- draw = None
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
448
 
449
  return image
450
 
@@ -502,7 +505,7 @@ def relate_anything(input_image, k):
502
 
503
  current_pil_image = pil_image.copy()
504
  current_pil_image.alpha_composite(mask_image)
505
-
506
  title_image = create_title_image('Red', relation, 'Blue', current_pil_image.size[0])
507
  concate_pil_image = concatenate_images_vertical(current_pil_image, title_image)
508
  pil_image_list.append(concate_pil_image)
@@ -704,13 +707,13 @@ if __name__ == "__main__":
704
  args = parser.parse_args()
705
  print(f'args = {args}')
706
 
707
- # set_device()
708
  get_sam_vit_h_4b8939()
709
  load_groundingdino_model()
710
  load_sam_model()
711
- # load_sd_model()
712
  load_lama_cleaner_model()
713
- # load_ram_model()
714
 
715
  os.system("pip list")
716
 
 
416
  # Create a new image with the specified width and white background
417
  image = Image.new('RGB', (width, 60), (255, 255, 255))
418
 
419
+ try:
420
+ # Load the specified font
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
421
  font = ImageFont.truetype(font_path, font_size)
422
+
423
+ # Keep increasing the font size until all words fit within the desired width
424
+ while True:
425
+ # Create a draw object for the image
426
+ draw = ImageDraw.Draw(image)
427
+
428
+ word_spacing = font_size / 2
429
+ # Draw each word in the appropriate color
430
+ x_offset = word_spacing
431
+ draw.text((x_offset, 0), word1, color_red, font=font)
432
+ x_offset += font.getsize(word1)[0] + word_spacing
433
+ draw.text((x_offset, 0), word2, color_black, font=font)
434
+ x_offset += font.getsize(word2)[0] + word_spacing
435
+ draw.text((x_offset, 0), word3, color_blue, font=font)
436
+
437
+ word_sizes = [font.getsize(word) for word in [word1, word2, word3]]
438
+ total_width = sum([size[0] for size in word_sizes]) + word_spacing * 3
439
+
440
+ # Stop increasing font size if the image is within the desired width
441
+ if total_width <= width:
442
+ break
443
+
444
+ # Increase font size and reset the draw object
445
+ font_size -= 1
446
+ image = Image.new('RGB', (width, 50), (255, 255, 255))
447
+ font = ImageFont.truetype(font_path, font_size)
448
+ draw = None
449
+ except Exception as e:
450
+ pass
451
 
452
  return image
453
 
 
505
 
506
  current_pil_image = pil_image.copy()
507
  current_pil_image.alpha_composite(mask_image)
508
+
509
  title_image = create_title_image('Red', relation, 'Blue', current_pil_image.size[0])
510
  concate_pil_image = concatenate_images_vertical(current_pil_image, title_image)
511
  pil_image_list.append(concate_pil_image)
 
707
  args = parser.parse_args()
708
  print(f'args = {args}')
709
 
710
+ set_device()
711
  get_sam_vit_h_4b8939()
712
  load_groundingdino_model()
713
  load_sam_model()
714
+ load_sd_model()
715
  load_lama_cleaner_model()
716
+ load_ram_model()
717
 
718
  os.system("pip list")
719