Bladeren bron

Merge pull request #753 from PENGUINLIONG/patch-1

Avoid overflow casting to uint8
Daniel Gatis 3 maanden geleden
bovenliggende
commit
53e711f075
2 gewijzigde bestanden met toevoegingen van 2 en 2 verwijderingen
  1. 1 1
      rembg/sessions/base.py
  2. 1 1
      rembg/sessions/u2net.py

+ 1 - 1
rembg/sessions/base.py

@@ -41,7 +41,7 @@ class BaseSession:
         im = img.convert("RGB").resize(size, Image.Resampling.LANCZOS)
 
         im_ary = np.array(im)
-        im_ary = im_ary / np.max(im_ary)
+        im_ary = im_ary / max(np.max(im_ary), 1e-6)
 
         tmpImg = np.zeros((im_ary.shape[0], im_ary.shape[1], 3))
         tmpImg[:, :, 0] = (im_ary[:, :, 0] - mean[0]) / std[0]

+ 1 - 1
rembg/sessions/u2net.py

@@ -41,7 +41,7 @@ class U2netSession(BaseSession):
         pred = (pred - mi) / (ma - mi)
         pred = np.squeeze(pred)
 
-        mask = Image.fromarray((pred * 255).astype("uint8"), mode="L")
+        mask = Image.fromarray((pred.clip(0, 1) * 255).astype("uint8"), mode="L")
         mask = mask.resize(img.size, Image.Resampling.LANCZOS)
 
         return [mask]