Ver Fonte

dont process input_img in BaseCVResult (#2741)

Tingquan Gao há 10 meses atrás
pai
commit
fcc6c5fcbe

+ 0 - 4
paddlex/inference/common/result/base_cv_result.py

@@ -32,10 +32,6 @@ class BaseCVResult(BaseResult, StrMixin, JsonMixin, ImgMixin):
         Raises:
             AssertionError: If the required key (`BaseCVResult.INPUT_IMG_KEY`) are not found in the data.
         """
-        assert (
-            BaseCVResult.INPUT_IMG_KEY in data
-        ), f"`{BaseCVResult.INPUT_IMG_KEY}` is needed, but not found in `{list(data.keys())}`!"
-        self._input_img = data.pop("input_img", None)
         self._img_writer = ImageWriter(backend="pillow")
 
         super().__init__(data)

+ 1 - 1
paddlex/inference/models_new/formula_recognition/result.py

@@ -37,7 +37,7 @@ class FormulaRecResult(BaseCVResult):
         self,
     ):
         """Draw formula on image"""
-        image = Image.fromarray(self._input_img)
+        image = Image.fromarray(self["input_img"])
         try:
             env_valid()
         except subprocess.CalledProcessError as e:

+ 1 - 1
paddlex/inference/models_new/image_classification/result.py

@@ -29,7 +29,7 @@ class TopkResult(BaseCVResult):
         labels = self.get("label_names", self["class_ids"])
         label_str = f"{labels[0]} {self['scores'][0]:.2f}"
 
-        image = Image.fromarray(self._input_img)
+        image = Image.fromarray(self["input_img"])
         image_size = image.size
         draw = ImageDraw.Draw(image)
         min_font_size = int(image_size[0] * 0.02)

+ 1 - 1
paddlex/inference/models_new/image_feature/result.py

@@ -21,5 +21,5 @@ class IdentityResult(BaseCVResult):
 
     def _to_img(self):
         """This module does not support visualization; it simply outputs the input images"""
-        image = Image.fromarray(self._input_img)
+        image = Image.fromarray(self["input_img"])
         return image

+ 1 - 1
paddlex/inference/models_new/image_multilabel_classification/result.py

@@ -25,7 +25,7 @@ from ...common.result import BaseCVResult
 class MLClassResult(BaseCVResult):
     def _to_img(self):
         """Draw label on image"""
-        image = Image.fromarray(self._input_img)
+        image = Image.fromarray(self["input_img"])
         label_names = self["label_names"]
         scores = self["scores"]
         image = image.convert("RGB")

+ 1 - 1
paddlex/inference/models_new/instance_segmentation/result.py

@@ -137,7 +137,7 @@ class InstanceSegResult(BaseCVResult):
     def _to_img(self):
         """apply"""
         # image = self._img_reader.read(self["input_path"])
-        image = Image.fromarray(self._input_img)
+        image = Image.fromarray(self["input_img"])
         ori_img_size = list(image.size)[::-1]
         boxes = self["boxes"]
         masks = self["masks"]

+ 1 - 1
paddlex/inference/models_new/object_detection/result.py

@@ -99,5 +99,5 @@ class DetResult(BaseCVResult):
     def _to_img(self) -> Image.Image:
         """apply"""
         boxes = self["boxes"]
-        image = Image.fromarray(self._input_img)
+        image = Image.fromarray(self["input_img"])
         return draw_box(image, boxes)

+ 1 - 1
paddlex/inference/models_new/text_detection/result.py

@@ -26,7 +26,7 @@ class TextDetResult(BaseCVResult):
     def _to_img(self):
         """draw rectangle"""
         boxes = self["dt_polys"]
-        image = self._input_img
+        image = self["input_img"]
         for box in boxes:
             box = np.reshape(np.array(box).astype(int), [-1, 1, 2]).astype(np.int64)
             cv2.polylines(image, [box], True, (0, 0, 255), 2)

+ 1 - 1
paddlex/inference/models_new/text_recognition/result.py

@@ -23,7 +23,7 @@ class TextRecResult(BaseCVResult):
 
     def _to_img(self):
         """Draw label on image"""
-        image = Image.fromarray(self._input_img)
+        image = Image.fromarray(self["input_img"])
         rec_text = self["rec_text"]
         rec_score = self["rec_score"]
         image = image.convert("RGB")