mirror of
https://github.com/PaddlePaddle/PaddleOCR.git
synced 2025-09-25 16:15:12 +00:00
修改路径bug,添加whl包配置文件
This commit is contained in:
parent
790b5b0b22
commit
3dc1d309bb
@ -35,6 +35,7 @@ import numpy as np
|
|||||||
|
|
||||||
sys.path.append(__dir__)
|
sys.path.append(__dir__)
|
||||||
sys.path.append(os.path.abspath(os.path.join(__dir__, '../..')))
|
sys.path.append(os.path.abspath(os.path.join(__dir__, '../..')))
|
||||||
|
sys.path.append(os.path.abspath(os.path.join(__dir__, '../PaddleOCR')))
|
||||||
sys.path.append("..")
|
sys.path.append("..")
|
||||||
|
|
||||||
from paddleocr import PaddleOCR
|
from paddleocr import PaddleOCR
|
||||||
@ -390,7 +391,7 @@ class MainWindow(QMainWindow, WindowMixin):
|
|||||||
'Ctrl+J', 'edit', u'Move and edit Boxs', enabled=False)
|
'Ctrl+J', 'edit', u'Move and edit Boxs', enabled=False)
|
||||||
|
|
||||||
create = action(getStr('crtBox'), self.createShape,
|
create = action(getStr('crtBox'), self.createShape,
|
||||||
'w', 'new', getStr('crtBoxDetail'), enabled=False)
|
'w', 'objects', getStr('crtBoxDetail'), enabled=False)
|
||||||
|
|
||||||
delete = action(getStr('delBox'), self.deleteSelectedShape,
|
delete = action(getStr('delBox'), self.deleteSelectedShape,
|
||||||
'backspace', 'delete', getStr('delBoxDetail'), enabled=False)
|
'backspace', 'delete', getStr('delBoxDetail'), enabled=False)
|
||||||
|
@ -19,6 +19,9 @@ import sys
|
|||||||
import locale
|
import locale
|
||||||
from libs.ustr import ustr
|
from libs.ustr import ustr
|
||||||
|
|
||||||
|
__dir__ = os.path.dirname(os.path.abspath(__file__)) # 获取本程序文件路径
|
||||||
|
__dirpath__ = os.path.abspath(os.path.join(__dir__, '../resources/strings'))
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from PyQt5.QtCore import *
|
from PyQt5.QtCore import *
|
||||||
except ImportError:
|
except ImportError:
|
||||||
@ -57,14 +60,15 @@ class StringBundle:
|
|||||||
|
|
||||||
def __createLookupFallbackList(self, localeStr):
|
def __createLookupFallbackList(self, localeStr):
|
||||||
resultPaths = []
|
resultPaths = []
|
||||||
basePath = ":/strings"
|
basePath = "\strings"
|
||||||
resultPaths.append(basePath)
|
resultPaths.append(basePath)
|
||||||
if localeStr is not None:
|
if localeStr is not None:
|
||||||
# Don't follow standard BCP47. Simple fallback
|
# Don't follow standard BCP47. Simple fallback
|
||||||
tags = re.split('[^a-zA-Z]', localeStr)
|
tags = re.split('[^a-zA-Z]', localeStr)
|
||||||
for tag in tags:
|
for tag in tags:
|
||||||
lastPath = resultPaths[-1]
|
lastPath = resultPaths[-1]
|
||||||
resultPaths.append(lastPath + '-' + tag)
|
resultPaths[-1] = lastPath + '-' + tag
|
||||||
|
resultPaths[-1] = __dirpath__ + resultPaths[-1] + ".properties"
|
||||||
|
|
||||||
return resultPaths
|
return resultPaths
|
||||||
|
|
||||||
|
@ -17,6 +17,10 @@ import re
|
|||||||
import sys
|
import sys
|
||||||
import cv2
|
import cv2
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
import os
|
||||||
|
|
||||||
|
__dir__ = os.path.dirname(os.path.abspath(__file__)) # 获取本程序文件路径
|
||||||
|
__iconpath__ = os.path.abspath(os.path.join(__dir__, '../resources/icons'))
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from PyQt5.QtGui import *
|
from PyQt5.QtGui import *
|
||||||
@ -29,9 +33,9 @@ except ImportError:
|
|||||||
|
|
||||||
def newIcon(icon, iconSize=None):
|
def newIcon(icon, iconSize=None):
|
||||||
if iconSize is not None:
|
if iconSize is not None:
|
||||||
return QIcon(QIcon(':/' + icon).pixmap(iconSize,iconSize))
|
return QIcon(QIcon(__iconpath__ + "\\" + icon + ".png").pixmap(iconSize,iconSize))
|
||||||
else:
|
else:
|
||||||
return QIcon(':/' + icon)
|
return QIcon(__iconpath__ + "\\" + icon + ".png")
|
||||||
|
|
||||||
|
|
||||||
def newButton(text, icon=None, slot=None):
|
def newButton(text, icon=None, slot=None):
|
||||||
|
11
PPOCRLabel/requirements.txt
Normal file
11
PPOCRLabel/requirements.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
shapely
|
||||||
|
scikit-image==0.17.2
|
||||||
|
imgaug==0.4.0
|
||||||
|
pyclipper
|
||||||
|
lmdb
|
||||||
|
tqdm
|
||||||
|
numpy
|
||||||
|
visualdl
|
||||||
|
python-Levenshtein
|
||||||
|
opencv-contrib-python==4.2.0.32
|
||||||
|
PaddleOCR
|
@ -1,139 +1,57 @@
|
|||||||
# Copyright (c) <2015-Present> Tzutalin
|
# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved.
|
||||||
# Copyright (C) 2013 MIT, Computer Science and Artificial Intelligence Laboratory. Bryan Russell, Antonio Torralba,
|
#
|
||||||
# William T. Freeman. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# associated documentation files (the "Software"), to deal in the Software without restriction, including without
|
# you may not use this file except in compliance with the License.
|
||||||
# limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
|
# You may obtain a copy of the License at
|
||||||
# Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
#
|
||||||
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
# the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
|
#
|
||||||
# NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
# SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
# CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# THE SOFTWARE.
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
#!/usr/bin/env python
|
from setuptools import setup
|
||||||
# -*- coding: utf-8 -*-
|
from io import open
|
||||||
|
|
||||||
from setuptools import setup, find_packages, Command
|
with open('requirements.txt', encoding="utf-8-sig") as f:
|
||||||
from sys import platform as _platform
|
requirements = f.readlines()
|
||||||
from shutil import rmtree
|
requirements.append('tqdm')
|
||||||
import sys
|
|
||||||
import os
|
|
||||||
|
|
||||||
here = os.path.abspath(os.path.dirname(__file__))
|
|
||||||
NAME = 'labelImg'
|
|
||||||
REQUIRES_PYTHON = '>=3.0.0'
|
|
||||||
REQUIRED_DEP = ['pyqt5', 'lxml']
|
|
||||||
about = {}
|
|
||||||
|
|
||||||
with open(os.path.join(here, 'libs', '__init__.py')) as f:
|
|
||||||
exec(f.read(), about)
|
|
||||||
|
|
||||||
with open('README.rst') as readme_file:
|
|
||||||
readme = readme_file.read()
|
|
||||||
|
|
||||||
with open('HISTORY.rst') as history_file:
|
|
||||||
history = history_file.read()
|
|
||||||
|
|
||||||
|
|
||||||
# OS specific settings
|
def readme():
|
||||||
SET_REQUIRES = []
|
with open('README.md', encoding="utf-8-sig") as f:
|
||||||
if _platform == "linux" or _platform == "linux2":
|
README = f.read()
|
||||||
# linux
|
return README
|
||||||
print('linux')
|
|
||||||
elif _platform == "darwin":
|
|
||||||
# MAC OS X
|
|
||||||
SET_REQUIRES.append('py2app')
|
|
||||||
|
|
||||||
required_packages = find_packages()
|
|
||||||
required_packages.append('labelImg')
|
|
||||||
|
|
||||||
APP = [NAME + '.py']
|
|
||||||
OPTIONS = {
|
|
||||||
'argv_emulation': True,
|
|
||||||
'iconfile': 'resources/icons/app.icns'
|
|
||||||
}
|
|
||||||
|
|
||||||
class UploadCommand(Command):
|
|
||||||
"""Support setup.py upload."""
|
|
||||||
|
|
||||||
description=readme + '\n\n' + history,
|
|
||||||
|
|
||||||
user_options = []
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def status(s):
|
|
||||||
"""Prints things in bold."""
|
|
||||||
print('\033[1m{0}\033[0m'.format(s))
|
|
||||||
|
|
||||||
def initialize_options(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def finalize_options(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def run(self):
|
|
||||||
try:
|
|
||||||
self.status('Removing previous builds…')
|
|
||||||
rmtree(os.path.join(here, 'dist'))
|
|
||||||
except OSError:
|
|
||||||
self.status('Fail to remove previous builds..')
|
|
||||||
pass
|
|
||||||
|
|
||||||
self.status('Building Source and Wheel (universal) distribution…')
|
|
||||||
os.system(
|
|
||||||
'{0} setup.py sdist bdist_wheel --universal'.format(sys.executable))
|
|
||||||
|
|
||||||
self.status('Uploading the package to PyPI via Twine…')
|
|
||||||
os.system('twine upload dist/*')
|
|
||||||
|
|
||||||
self.status('Pushing git tags…')
|
|
||||||
os.system('git tag -d v{0}'.format(about['__version__']))
|
|
||||||
os.system('git tag v{0}'.format(about['__version__']))
|
|
||||||
# os.system('git push --tags')
|
|
||||||
|
|
||||||
sys.exit()
|
|
||||||
|
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
app=APP,
|
name='PPOCRLabel',
|
||||||
name=NAME,
|
packages=['PPOCRLabel'],
|
||||||
version=about['__version__'],
|
package_data = {'PPOCRLabel': ['libs/*','resources/strings/*','resources/icons/*']},
|
||||||
description="LabelImg is a graphical image annotation tool and label object bounding boxes in images",
|
package_dir={'PPOCRLabel': ''},
|
||||||
long_description=readme + '\n\n' + history,
|
|
||||||
author="TzuTa Lin",
|
|
||||||
author_email='tzu.ta.lin@gmail.com',
|
|
||||||
url='https://github.com/tzutalin/labelImg',
|
|
||||||
python_requires=REQUIRES_PYTHON,
|
|
||||||
package_dir={'labelImg': '.'},
|
|
||||||
packages=required_packages,
|
|
||||||
entry_points={
|
|
||||||
'console_scripts': [
|
|
||||||
'labelImg=labelImg.labelImg:main'
|
|
||||||
]
|
|
||||||
},
|
|
||||||
include_package_data=True,
|
include_package_data=True,
|
||||||
install_requires=REQUIRED_DEP,
|
entry_points={"console_scripts": ["PPOCRLabel= PPOCRLabel.PPOCRLabel:main"]},
|
||||||
license="MIT license",
|
version='1.0.0',
|
||||||
zip_safe=False,
|
install_requires=requirements,
|
||||||
keywords='labelImg labelTool development annotation deeplearning',
|
license='Apache License 2.0',
|
||||||
|
description='Awesome OCR toolkits based on PaddlePaddle (8.6M ultra-lightweight pre-trained model, support training and deployment among server, mobile, embeded and IoT devices',
|
||||||
|
long_description=readme(),
|
||||||
|
long_description_content_type='text/markdown',
|
||||||
|
url='https://github.com/PaddlePaddle/PaddleOCR',
|
||||||
|
download_url='https://github.com/PaddlePaddle/PaddleOCR.git',
|
||||||
|
keywords=[
|
||||||
|
'ocr textdetection textrecognition paddleocr crnn east star-net rosetta ocrlite db chineseocr chinesetextdetection chinesetextrecognition'
|
||||||
|
],
|
||||||
classifiers=[
|
classifiers=[
|
||||||
'Development Status :: 5 - Production/Stable',
|
'Intended Audience :: Developers', 'Operating System :: OS Independent',
|
||||||
'Intended Audience :: Developers',
|
'Natural Language :: Chinese (Simplified)',
|
||||||
'License :: OSI Approved :: MIT License',
|
|
||||||
'Natural Language :: English',
|
|
||||||
'Programming Language :: Python :: 3',
|
'Programming Language :: Python :: 3',
|
||||||
|
'Programming Language :: Python :: 3.2',
|
||||||
'Programming Language :: Python :: 3.3',
|
'Programming Language :: Python :: 3.3',
|
||||||
'Programming Language :: Python :: 3.4',
|
'Programming Language :: Python :: 3.4',
|
||||||
'Programming Language :: Python :: 3.5',
|
'Programming Language :: Python :: 3.5',
|
||||||
'Programming Language :: Python :: 3.6',
|
'Programming Language :: Python :: 3.6',
|
||||||
'Programming Language :: Python :: 3.7',
|
'Programming Language :: Python :: 3.7', 'Topic :: Utilities'
|
||||||
],
|
], )
|
||||||
package_data={'data/predefined_classes.txt': ['data/predefined_classes.txt']},
|
|
||||||
options={'py2app': OPTIONS},
|
|
||||||
setup_requires=SET_REQUIRES,
|
|
||||||
# $ setup.py publish support.
|
|
||||||
cmdclass={
|
|
||||||
'upload': UploadCommand,
|
|
||||||
}
|
|
||||||
)
|
|
Loading…
x
Reference in New Issue
Block a user