diff --git a/PPOCRLabel/PPOCRLabel.py b/PPOCRLabel/PPOCRLabel.py index 0caee0a612c7d62169742e466c18bd7d0adaba27..6c8154d1c9ac557b3033be32608d95d37f673b86 100644 --- a/PPOCRLabel/PPOCRLabel.py +++ b/PPOCRLabel/PPOCRLabel.py @@ -1177,7 +1177,7 @@ class MainWindow(QMainWindow): # print('rm empty label') return item = self.shapesToItems[shape] - item.setText(shape.label[0]) + item.setText(shape.label) self.updateComboBox() # ADD: @@ -1617,8 +1617,9 @@ class MainWindow(QMainWindow): key_cls = 'None' if not self.kie_mode else box.get('key_cls', 'None') shapes.append((box['transcription'], box['points'], None, key_cls, box.get('difficult', False))) - self.loadLabels(shapes) - self.canvas.verified = False + if shapes != []: + self.loadLabels(shapes) + self.canvas.verified = False def validFilestate(self, filePath): if filePath not in self.fileStatedict.keys(): @@ -2203,7 +2204,7 @@ class MainWindow(QMainWindow): msg = 'Can not recognise the detection box in ' + self.filePath + '. Please change manually' QMessageBox.information(self, "Information", msg) return - result = self.ocr.ocr(img_crop, cls=True, det=False) + result = self.ocr.ocr(img_crop, cls=True, det=False)[0] if result[0][0] != '': if shape.line_color == DEFAULT_LOCK_COLOR: shape.label = result[0][0] @@ -2264,7 +2265,7 @@ class MainWindow(QMainWindow): msg = 'Can not recognise the detection box in ' + self.filePath + '. Please change manually' QMessageBox.information(self, "Information", msg) return - result = self.ocr.ocr(img_crop, cls=True, det=False) + result = self.ocr.ocr(img_crop, cls=True, det=False)[0] if result[0][0] != '': result.insert(0, box) print('result in reRec is ', result) @@ -2415,12 +2416,12 @@ class MainWindow(QMainWindow): # merge the text result in the cell texts = '' probs = 0. # the probability of the cell is avgerage prob of every text box in the cell - bboxes = self.ocr.ocr(img_crop, det=True, rec=False, cls=False) + bboxes = self.ocr.ocr(img_crop, det=True, rec=False, cls=False)[0] if len(bboxes) > 0: bboxes.reverse() # top row text at first for _bbox in bboxes: patch = get_rotate_crop_image(img_crop, np.array(_bbox, np.float32)) - rec_res = self.ocr.ocr(patch, det=False, rec=True, cls=False) + rec_res = self.ocr.ocr(patch, det=False, rec=True, cls=False)[0] text = rec_res[0][0] if text != '': texts += text + ('' if text[0].isalpha() else ' ') # add space between english word diff --git a/PPOCRLabel/README.md b/PPOCRLabel/README.md index 9c483e1feff5a07467f7aa90343391888004bce7..ec933a83975d3b378b8d623cac844d1f8ce0232a 100644 --- a/PPOCRLabel/README.md +++ b/PPOCRLabel/README.md @@ -103,11 +103,11 @@ python PPOCRLabel.py --kie True # [KIE mode] for [detection + recognition + keyw ``` #### 1.2.3 Build and Install the Whl Package Locally -Compile and install a new whl package, where 1.0.2 is the version number, you can specify the new version in 'setup.py'. +Compile and install a new whl package, where 0.0.0 is the version number, you can specify the new version in 'setup.py'. ```bash cd ./PPOCRLabel python3 setup.py bdist_wheel -pip3 install dist/PPOCRLabel-2.1.2-py2.py3-none-any.whl +pip3 install dist/PPOCRLabel-0.0.0-py2.py3-none-any.whl ``` diff --git a/PPOCRLabel/README_ch.md b/PPOCRLabel/README_ch.md index afe1a08ff9c5445b2643b9453985951fcb7a90f5..5359afc4f1bc08c4fa3212ae6f6c31aa4e387b87 100644 --- a/PPOCRLabel/README_ch.md +++ b/PPOCRLabel/README_ch.md @@ -101,12 +101,12 @@ python PPOCRLabel.py --lang ch #### 1.2.3 本地构建whl包并安装 -编译与安装新的whl包,其中1.0.2为版本号,可在 `setup.py` 中指定新版本。 +编译与安装新的whl包,其中0.0.0为版本号,可在 `setup.py` 中指定新版本。 ```bash cd ./PPOCRLabel python3 setup.py bdist_wheel -pip3 install dist/PPOCRLabel-2.1.2-py2.py3-none-any.whl -i https://mirror.baidu.com/pypi/simple +pip3 install dist/PPOCRLabel-0.0.0-py2.py3-none-any.whl -i https://mirror.baidu.com/pypi/simple ``` diff --git a/PPOCRLabel/libs/canvas.py b/PPOCRLabel/libs/canvas.py index 462c70bee9514259d9050e4e6dad0f01ebb82d0a..44d899cbc9f21793f89c498cf844c95e418b08a1 100644 --- a/PPOCRLabel/libs/canvas.py +++ b/PPOCRLabel/libs/canvas.py @@ -237,7 +237,7 @@ class Canvas(QWidget): self.hShape.highlightClear() self.hVertex, self.hShape = None, shape self.setToolTip( - "Click & drag to move shape '%s'" % shape.label[0]) + "Click & drag to move shape '%s'" % shape.label) self.setStatusTip(self.toolTip()) self.overrideCursor(CURSOR_GRAB) self.update() diff --git a/PPOCRLabel/requirements.txt b/PPOCRLabel/requirements.txt index fd42a2de25a770949776e31e627ec4334dcc6544..a10b3453a91d1af62d63b06b7f86f3b6ea2f5962 100644 --- a/PPOCRLabel/requirements.txt +++ b/PPOCRLabel/requirements.txt @@ -1,3 +1,3 @@ pyqt5 -paddleocr==2.6.0.0 +paddleocr xlrd==1.2.0 diff --git a/PPOCRLabel/setup.py b/PPOCRLabel/setup.py index a112df544ee385ba3dc87ffac3e15a9dc390c4db..9770b632bd44e820fe5a03558b1836ddcebb85cb 100644 --- a/PPOCRLabel/setup.py +++ b/PPOCRLabel/setup.py @@ -33,10 +33,10 @@ setup( package_dir={'PPOCRLabel': ''}, include_package_data=True, entry_points={"console_scripts": ["PPOCRLabel= PPOCRLabel.PPOCRLabel:main"]}, - version='2.1.2', + version='2.1.3', install_requires=requirements, license='Apache License 2.0', - description='PPOCRLabel is a semi-automatic graphic annotation tool suitable for OCR field, with built-in PPOCR model to automatically detect and re-recognize data. It is written in python3 and pyqt5, supporting rectangular box annotation and four-point annotation modes. Annotations can be directly used for the training of PPOCR detection and recognition models', + description='PPOCRLabelv2 is a semi-automatic graphic annotation tool suitable for OCR field, with built-in PP-OCR model to automatically detect and re-recognize data. It is written in Python3 and PyQT5, supporting rectangular box, table, irregular text and key information annotation modes. Annotations can be directly used for the training of PP-OCR detection and recognition models.', long_description=readme(), long_description_content_type='text/markdown', url='https://github.com/PaddlePaddle/PaddleOCR',