Steven18 commited on
Commit
19feb2e
·
1 Parent(s): 4aa90c9

update normalize_multiimages

Browse files
Files changed (1) hide show
  1. app.py +18 -9
app.py CHANGED
@@ -62,13 +62,19 @@ def preprocess_images(images: List[Tuple[Image.Image, str]]) -> List[Image.Image
62
  return processed_images
63
 
64
  def preprocess_upload_images(file_list: List[Any]) -> List[Tuple[Image.Image, str]]:
65
- """
66
- Resize all input images to 518x518 and return (image, filename) pairs.
67
- """
68
- images = [
69
- (Image.open(f.name).convert("RGBA").resize((518, 518), Image.Resampling.LANCZOS), f.name)
70
- for f in file_list
71
- ]
 
 
 
 
 
 
72
  return images
73
 
74
 
@@ -173,7 +179,6 @@ def image_to_3d(
173
  os.makedirs(user_dir, exist_ok=True)
174
  is_multiimage = is_multiimage.lower() == "true"
175
 
176
- multiimages = normalize_multiimages(multiimages)
177
 
178
  # Run pipeline depending on mode
179
  if not is_multiimage:
@@ -192,7 +197,11 @@ def image_to_3d(
192
  },
193
  )
194
  else:
 
 
 
195
  pil_images = [img for img, _ in multiimages]
 
196
  outputs = pipeline.run_multi_image(
197
  pil_images,
198
  seed=seed,
@@ -531,7 +540,7 @@ with gr.Blocks(delete_cache=(600, 600)) as demo:
531
  # outputs=[multiimage_prompt],
532
  # )
533
  multiimage_prompt.upload(
534
- fn=preprocess_images,
535
  inputs=[multiimage_prompt],
536
  outputs=[multiimage_combined],
537
  )
 
62
  return processed_images
63
 
64
  def preprocess_upload_images(file_list: List[Any]) -> List[Tuple[Image.Image, str]]:
65
+ images = []
66
+ for f in file_list:
67
+ if isinstance(f, dict):
68
+ path = f.get("path") or f.get("name")
69
+ filename = os.path.basename(path)
70
+ else: # UploadedFile / FileData
71
+ path = f.name
72
+ filename = os.path.basename(path)
73
+
74
+ img = Image.open(path).convert("RGBA").resize(
75
+ (518, 518), Image.Resampling.LANCZOS
76
+ )
77
+ images.append((img, filename))
78
  return images
79
 
80
 
 
179
  os.makedirs(user_dir, exist_ok=True)
180
  is_multiimage = is_multiimage.lower() == "true"
181
 
 
182
 
183
  # Run pipeline depending on mode
184
  if not is_multiimage:
 
197
  },
198
  )
199
  else:
200
+ multiimages = normalize_multiimages(multiimages)
201
+ if is_multiimage and len(multiimages) == 0:
202
+ raise gr.Error("Multiple Images mode need at least 1 pic,please upload then click Generate。")
203
  pil_images = [img for img, _ in multiimages]
204
+ assert all(isinstance(im, Image.Image) for im in pil_imgs),
205
  outputs = pipeline.run_multi_image(
206
  pil_images,
207
  seed=seed,
 
540
  # outputs=[multiimage_prompt],
541
  # )
542
  multiimage_prompt.upload(
543
+ fn=lambda imgs: imgs,
544
  inputs=[multiimage_prompt],
545
  outputs=[multiimage_combined],
546
  )