LPX55 commited on
Commit
5dd5d7e
·
verified ·
1 Parent(s): d2516f0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -8
app.py CHANGED
@@ -243,14 +243,21 @@ def outpaint(image, width, height, overlap_percentage, num_inference_steps, resi
243
 
244
  # Extract original alpha from the input image
245
  original_alpha = background.split()[3] if background.mode == "RGBA" else Image.new("L", background.size, 255)
246
- original_alpha_mask = original_alpha.point(lambda p: 0 if p < 255 else 255) # 0 where transparent
247
-
248
  # Combine original and generated mask
249
- combined_mask = ImageChops.logical_or(original_alpha_mask, mask) # 0 where to fill
250
-
251
- # Use the combined_mask in the pipeline
252
  cnet_image = background.copy()
253
- cnet_image.paste(0, (0, 0), combined_mask) # Overlay black on combined_mask area
 
 
 
 
 
 
 
 
 
 
254
 
255
  final_prompt = f"score_9, score_8_up, score_7_up, {prompt_input} , high quality, 4k"
256
  print(f"Outpainting using SDXL model: {pipe.config.model_name}")
@@ -271,9 +278,10 @@ def outpaint(image, width, height, overlap_percentage, num_inference_steps, resi
271
  yield cnet_image, image
272
  # Invert the combined_mask and paste the generated image back
273
  filled_mask = combined_mask.point(lambda p: 255 - p)
 
 
274
  image = image.convert("RGBA")
275
- cnet_image.paste(image, (0, 0), filled_mask)
276
-
277
  yield background, cnet_image
278
 
279
  @spaces.GPU(duration=7)
 
243
 
244
  # Extract original alpha from the input image
245
  original_alpha = background.split()[3] if background.mode == "RGBA" else Image.new("L", background.size, 255)
246
+ combined_mask = ImageChops.logical_or(original_alpha, mask) # 0 where to paint
 
247
  # Combine original and generated mask
248
+ # combined_mask = ImageChops.logical_or(original_alpha_mask, mask) # 0 where to fill
 
 
249
  cnet_image = background.copy()
250
+ if cnet_image.mode == "RGBA":
251
+ # Extract the alpha channel and apply the combined mask
252
+ alpha = combined_mask.convert("L")
253
+ cnet_image = cnet_image.convert("RGBA")
254
+ cnet_image.putalpha(alpha) # Replace the alpha channel
255
+ else:
256
+ # If no alpha, just use the background
257
+ cnet_image = background
258
+ # Use the combined_mask in the pipeline
259
+ #cnet_image = background.copy()
260
+ # cnet_image.paste(0, (0, 0), combined_mask) # Overlay black on combined_mask area
261
 
262
  final_prompt = f"score_9, score_8_up, score_7_up, {prompt_input} , high quality, 4k"
263
  print(f"Outpainting using SDXL model: {pipe.config.model_name}")
 
278
  yield cnet_image, image
279
  # Invert the combined_mask and paste the generated image back
280
  filled_mask = combined_mask.point(lambda p: 255 - p)
281
+ # image = image.convert("RGBA")
282
+ # cnet_image.paste(image, (0, 0), filled_mask)
283
  image = image.convert("RGBA")
284
+ cnet_image.paste(image, (0, 0), combined_mask)
 
285
  yield background, cnet_image
286
 
287
  @spaces.GPU(duration=7)