From a916057501d26b51b8e54f2cc1e57aa444f33149 Mon Sep 17 00:00:00 2001 From: masoud parpanchi <33782977+masoudMZB@users.noreply.github.com> Date: Wed, 3 Jan 2024 06:04:41 +0330 Subject: [PATCH] reverse output for rtl languages has bug. (#10418) --- ppocr/postprocess/rec_postprocess.py | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/ppocr/postprocess/rec_postprocess.py b/ppocr/postprocess/rec_postprocess.py index 230f84d1b..7a0737a2e 100644 --- a/ppocr/postprocess/rec_postprocess.py +++ b/ppocr/postprocess/rec_postprocess.py @@ -12,6 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +from bidi.algorithm import get_display import numpy as np import paddle from paddle.nn import functional as F @@ -49,20 +50,7 @@ class BaseRecLabelDecode(object): self.character = dict_character def pred_reverse(self, pred): - pred_re = [] - c_current = '' - for c in pred: - if not bool(re.search('[a-zA-Z0-9 :*./%+-]', c)): - if c_current != '': - pred_re.append(c_current) - pred_re.append(c) - c_current = '' - else: - c_current += c - if c_current != '': - pred_re.append(c_current) - - return ''.join(pred_re[::-1]) + return get_display(pred) def add_special_char(self, dict_character): return dict_character