В повседневной работе, например, при проведении автоматизированного тестирования, часто задействуются некоторые сценарии распознавания кода проверки, распознавания текста и распознавания изображений. Хотя на рынке существует множество инструментов распознавания, качество и точность различаются.
Сегодня я рекомендую вам Открытый исходный кодOCRпроект:Umi-OCR
,Очень мощная функция,Его также можно использовать в автономном режиме,Сейчас у него 19,7 тыс.+ звезд,Это говорит о популярности данного проекта.
Этот проект разработан на основе PaddleOCR и написан на Python. В настоящее время он поддерживает работу только на платформе Windows, а кроссплатформенность все еще находится в стадии подготовки.
Адрес проекта:
https://github.com/hiroi-sora/Umi-OCR
https://gitee.com/mirrors/Umi-OCR.git
Структура проекта:
Umi-OCR
├─ Umi-OCR.exe
└─ UmiOCR-data
├─ main.py **
├─ version.py **
├─ site-packages
│ └─ пакет Python
├─ runtime
│ └─ интерпретатор Python
├─ qt_res **
│ └─ Ресурсы проекта qt, включая значки и исходный код qml.
├─ py_src **
│ └─ Исходный код проекта на Python
├─ plugins
│ └─ плагин
└─ i18n **
└─ Перевести файлы
Особенности проекта:
Выберите подходящую версию прямо в релизах, и скачать ее можно следующими способами:
GitHub https://github.com/hiroi-sora/Umi-OCR/releases/latest
Лань Цзоюнь https://hiroi-sora.lanzoul.com/s/umi-ocr
Source Forge https://sourceforge.net/projects/umi-ocr
Это программное обеспечение не требует установки. После распаковки нажмите Umi-OCR.exe, чтобы запустить программу.
Эта функция очень удобна для использования на некоторых веб-страницах, которые невозможно скопировать. Она работает очень быстро и имеет высокую точность.
Скриншот оптического распознавания символов: откройте эту страницу,Вы можете использовать сочетания клавиш для вызова снимков экрана,Определите текст на картинке.
Если вам нужно идентифицировать несколько изображений одновременно, стоит использовать эту функцию. Просто импортируйте все изображения и нажмите «Начать задачу», чтобы выполнить пакетную идентификацию.
Пакетное распознавание текста: Эта страница поддерживает пакетный импорт локальных изображений и идентифицирует их.
Соседняя область: специальная функция в Пакетном распознавании текста, предназначенная для исключения нежелательного текста из изображений.
Распознавание документов:
Поддерживает вызов через командную строку или интерфейс HTTP. Вход для вызова командной строки — это основная программа Umi-OCR.exe.
Использование командной строки OCR:
Скриншот: Umi-OCR.exe --screenshot
Вставить изображение: Umi-OCR.exe --clipboard
Указанный адрес: Umi-OCR.exe --path "D:/xxx.png"
Вывод результата: Umi-OCR.exe --screenshot --> test.txt
Все команды OCR могут возвращать результаты распознавания на консоль. Пожалуйста, подождите терпеливо и не вводите следующую команду до конца одной команды. Все команды можно заменить несколькими первыми буквами. Например, --screenshot и --clipboard можно сократить до --sc и --cl соответственно. Вы можете попробовать это сами.
Интерфейс HTTP. Сначала необходимо включить службу HTTP.
Службе HTTP должно быть разрешено использовать интерфейс HTTP (включено по умолчанию). Если вам нужно разрешить доступ из локальной сети, переключите хост на любой доступный адрес.
Примеры следующие:
import requests
import json
url = "http://127.0.0.1:1224/api/ocr"
data = {
"base64": "iVBORw0KGgoAAAANSUhEUgAAAC4AAAAXCAIAAAD7ruoFAAAACXBIWXMAABnWAAAZ1gEY0crtAAAAEXRFWHRTb2Z0d2FyZQBTbmlwYXN0ZV0Xzt0AAAHjSURBVEiJ7ZYrcsMwEEBXnR7FLuj0BPIJHJOi0DAZ2qSsMCxEgjYrDQqJdALrBJ2ASndRgeNI8ledutOCLrLl1e7T/mRkjIG/IXe/DWBldRTNEoQSpgNURe5puiiaJehrMuJSXSTgbaby0A1WzLrCCQCmyn0FwoN0V06QONWAt1nUxfnjHYA8p65GjhDKxcjedVH6JOejBPwYh21eE0Wzfe0tqIsEkGXcVcpoMH4CRZ+P0lsQp/pWJ4ripf1XFDFe8GHSHlYcSo9Es31t60RdFlN1RUmrma5oTzTVB8ZUaeeYEC9GmL6kNkDw9BANAQYo3xTNdqUkvHq+rYhDKW0Bj3RSEIpmyWyBaZaMTCrCK+tJ5Jsa07fs3E7esE66HzralRLgJKp0/BD6fJRSxvmDsb6joqkcFXGqMVVFFEHDL2gTxwCAaTabnkFUWhDCHTd9iYrGcAL1ZnqIp5Vpiqh7bCfua7FA4qN0INMcN1+cgCzj+UFxtbmvwdZvGIrI41JiqhZBWhhF8WxorkYPpQwJiWYJeA3rXE4hzcwJ+B96F9zCFHC0FcVegghvFul7oeEE8PvHeJqC0w0AUbbFIT8JnEwGbPKcS2OxU3HMTqD0r4wgEIuiKJ7i4MS16+og8/+bPZRPLa+6Ld2DSzcAAAAASUVORK5CYII=",
# Дополнительные параметры
# Режим лопастного двигателя
# "options": {
# "ocr.language": "models/config_chinese.txt",
# "ocr.cls": False,
# "ocr.limit_side_len": 960,
# "tbpu.parser": "multi_para",
# "data.format": "text",
# }
# Режим быстрого двигателя
# "options": {
# "ocr.language": «Упрощенный китайский»,
# "ocr.angle": False,
# "ocr.maxSideLen": 1024,
# "tbpu.parser": "multi_para",
# "data.format": "text",
# }
}
headers = {"Content-Type": "application/json"}
data_str = json.dumps(data)
response = requests.post(url, data=data_str, headers=headers)
if response.status_code == 200:
res_dict = json.loads(response.text)
print("Словарь возвращаемых значений\n", res_dict)
Для более подробной информации об использовании, пожалуйста, обратитесь к:
Если статья вам полезна, подписывайтесь, ставьте лайки, смотрите и делитесь ею с друзьями!