|
2 | 2 | # @Author: SWHL |
3 | 3 | # @Contact: liekkaskono@163.com |
4 | 4 | from dataclasses import dataclass, field |
5 | | -from typing import List, Optional, Tuple, Union |
| 5 | +from typing import Any, Dict, List, Optional, Tuple, Union |
6 | 6 |
|
7 | 7 | import numpy as np |
8 | 8 |
|
9 | 9 | from .logger import Logger |
| 10 | +from .to_json import ToJSON |
10 | 11 | from .to_markdown import ToMarkdown |
11 | 12 | from .utils import save_img |
12 | 13 | from .vis_res import VisRes |
@@ -35,20 +36,23 @@ def __len__(self): |
35 | 36 | return 0 |
36 | 37 | return len(self.txts) |
37 | 38 |
|
38 | | - def to_json(self): |
39 | | - pass |
| 39 | + def to_json(self) -> Optional[List[Dict[Any, Any]]]: |
| 40 | + if any(v is None for v in (self.boxes, self.txts, self.scores)): |
| 41 | + logger.warning("The identified content is empty.") |
| 42 | + return None |
| 43 | + return ToJSON.to(self.boxes, self.txts, self.scores) |
40 | 44 |
|
41 | 45 | def to_markdown(self) -> str: |
42 | 46 | return ToMarkdown.to(self.boxes, self.txts) |
43 | 47 |
|
44 | | - def vis(self, save_path: Optional[str] = None): |
| 48 | + def vis(self, save_path: Optional[str] = None) -> Optional[np.ndarray]: |
45 | 49 | if self.img is None or self.boxes is None: |
46 | 50 | logger.warning("No image or boxes to visualize.") |
47 | | - return |
| 51 | + return None |
48 | 52 |
|
49 | 53 | if self.viser is None: |
50 | 54 | logger.error("vis instance is None") |
51 | | - return |
| 55 | + return None |
52 | 56 |
|
53 | 57 | if all(v is None for v in self.word_results): |
54 | 58 | vis_img = self.viser(self.img, self.boxes, self.txts, self.scores) |
|
0 commit comments