فهرست منبع

Implement utils.img_arr_to_data

Kentaro Wada 1 سال پیش
والد
کامیت
b13e6a49a8
2فایلهای تغییر یافته به همراه10 افزوده شده و 6 حذف شده
  1. 1 0
      labelme/utils/__init__.py
  2. 9 6
      labelme/utils/image.py

+ 1 - 0
labelme/utils/__init__.py

@@ -4,6 +4,7 @@ from ._io import lblsave
 
 from .image import apply_exif_orientation
 from .image import img_arr_to_b64
+from .image import img_arr_to_data
 from .image import img_b64_to_arr
 from .image import img_data_to_arr
 from .image import img_data_to_pil

+ 9 - 6
labelme/utils/image.py

@@ -34,17 +34,20 @@ def img_pil_to_data(img_pil):
 
 
 def img_arr_to_b64(img_arr):
-    img_pil = PIL.Image.fromarray(img_arr)
-    f = io.BytesIO()
-    img_pil.save(f, format="PNG")
-    img_bin = f.getvalue()
+    img_data = img_arr_to_data(img_arr)
     if hasattr(base64, "encodebytes"):
-        img_b64 = base64.encodebytes(img_bin)
+        img_b64 = base64.encodebytes(img_data)
     else:
-        img_b64 = base64.encodestring(img_bin)
+        img_b64 = base64.encodestring(img_data)
     return img_b64
 
 
+def img_arr_to_data(img_arr):
+    img_pil = PIL.Image.fromarray(img_arr)
+    img_data = img_pil_to_data(img_pil)
+    return img_data
+
+
 def img_data_to_png_data(img_data):
     with io.BytesIO() as f:
         f.write(img_data)