Janeka commited on
Commit
fc5d884
·
verified ·
1 Parent(s): aeae152

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -8
app.py CHANGED
@@ -1,10 +1,10 @@
1
- import cv2
2
  import numpy as np
3
  from PIL import Image
4
  from rembg import new_session, remove
5
  from skimage import filters
 
6
 
7
- # Initialize sessions
8
  isnet_session = new_session("isnet-general-use")
9
  u2net_session = new_session("u2net")
10
 
@@ -13,23 +13,24 @@ def perfect_remove_bg(img):
13
  # Convert input
14
  if isinstance(img, np.ndarray):
15
  img = Image.fromarray(img)
16
- w, h = img.size
17
 
18
  # ISNet for details
19
  result = remove(img, session=isnet_session)
20
  mask = np.array(result.split()[-1])
21
 
22
- # Fixed edge refinement
23
  mask = filters.rank.mean(
24
- mask.astype(np.uint8),
25
- footprint=np.ones((3,3), np.uint8) # Correct syntax
26
  )
27
 
28
- # U²Net for confidence areas
29
  u2net_mask = np.array(remove(img, session=u2net_session).split()[-1]
30
- final_mask = np.where(u2net_mask > 200, mask, u2net_mask)
31
 
 
 
32
  result.putalpha(Image.fromarray(final_mask))
 
33
  return result
34
 
35
  except Exception as e:
 
 
1
  import numpy as np
2
  from PIL import Image
3
  from rembg import new_session, remove
4
  from skimage import filters
5
+ import gradio as gr
6
 
7
+ # Initialize models
8
  isnet_session = new_session("isnet-general-use")
9
  u2net_session = new_session("u2net")
10
 
 
13
  # Convert input
14
  if isinstance(img, np.ndarray):
15
  img = Image.fromarray(img)
 
16
 
17
  # ISNet for details
18
  result = remove(img, session=isnet_session)
19
  mask = np.array(result.split()[-1])
20
 
21
+ # Edge refinement
22
  mask = filters.rank.mean(
23
+ mask.astype(np.uint8),
24
+ footprint=np.ones((3,3), np.uint8)
25
  )
26
 
27
+ # U²Net for confidence areas (FIXED PARENTHESES)
28
  u2net_mask = np.array(remove(img, session=u2net_session).split()[-1]
 
29
 
30
+ # Combine masks
31
+ final_mask = np.where(u2net_mask > 200, mask, u2net_mask)
32
  result.putalpha(Image.fromarray(final_mask))
33
+
34
  return result
35
 
36
  except Exception as e: