1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wanglifree-tianruoocr-cl

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

tianruoocr-cl

По причине ограниченной энергии, данное программное обеспечение в настоящее время не поддерживается. Рекомендую использовать UMI-OCR. Я использовал его, и он действительно хорош, по крайней мере, лучше моего. Если появится время и энергия, возможно, я возобновлю поддержку.

Описание

Рисунок 1

Это локальная версия открытого исходного кода Tianruo OCR, использующая Chinese-lite и paddle-ocr для распознавания. Больше нет необходимости использовать интернет.

Рекомендую использовать paddle-ocr для распознавания. Вы можете переключаться между интерфейсами в результатах распознавания.

Данное программное обеспечение невозможно без помощи следующих репозиториев и программ. Выражаю глубокую благодарность:

https://gitee.com/ZZK-1989/tianruoocr

https://github.com/DayBreak-u/chineseocr_lite/tree/onnx/dotnet_projects/OcrLiteOnnxCs

https://github.com/RapidAI/RapidOCR

Программа предназначена для использования на 64-битных системах, таких как Windows 10 и Windows 7. Не тестировалось на Windows 11. Требуется .NET Framework 4.7.2.

Основная функциональность программы заключается в копировании и вставке. Если кто-то сможет помочь с доработкой, было бы замечательно.

Процент распознавания китайского языка достаточно высокий.

Количество потоков установлено на 4, но его можно изменить.Данное программное обеспечение не предоставляет возможность для пожертвований. Также приветствуется распространение и использование программы. Автор программы — студент специальности "Механика", который не обладает большим опытом программирования и решает большинство проблем с помощью поиска в Baidu и Google. Любые вопросы приветствуются для обсуждения.

Внимание


  1. Для компиляции требуется ссылка на Microsoft.ML.OnnxRuntime.dll. Если вы хотите использовать Windows 7, можно использовать предварительно скомпилированный dll (находящийся в папках dll и runtime), либо скомпилировать самостоятельно, разместив соответствующий onnxruntime.dll в папке с исполняемым файлом. Если вы не используете Windows 7, вы можете установить nuget.
  2. Измените управление пакетами nuget на PackageReference. Вероятно, вам больше не потребуется packages.config. Установите все необходимые пакеты перед компиляцией.
  3. При компиляции обратите внимание на файл AdvRichTextBox.Designer.cs, который должен быть перезаписан. Этот файл может быть автоматически перезаписан системой при переключении, поэтому его следует восстановить.## Сборка и проблемы

  1. Windows 7 не работает, решение не найдено (Версия 1.3 работает на Windows 7)
  2. Если появляется Exception from HRESULT: 0x8007007E, попробуйте использовать dx Repair Tool для исправления; обычно это позволяет запустить программу.
  3. Попробуйте установить VC++ Runtime и .NET Framework 4.7.2.
  4. Google Translate не будет поддерживаться. Пожалуйста, используйте Baidu Translate (Добавлены другие переводчики), стабильный и надежный.

Текущие модели

Название модели модель det модель rec модель cls
Chinese-lite по умолчанию по умолчанию по умолчанию
paddle-ocr ch_PP-OCRv3_det_infer.onnx ch_PP-OCRv2_rec_infer.onnx ch_ppocr_mobile_v2.0_cls

Указания по проблемам перевода

  1. Текущий оффлайн перевод основан на использовании Python для создания моделей и сервера. Программа отвечает за взаимодействие с созданным сайтом, поэтому требуется базовое знание Python и подходящая среда выполнения. Если перевод не работает, попробуйте решить проблему самостоятельно, так как автор не сможет помочь.
  2. Из-за природы оффлайн переводческого сайта, можно самостоятельно создать сервер, если он будет поддерживать формат POST. POST имеет два параметра: "mod" и "text". Mod может быть установлен в значения "zh2en", "en2zh", "ja2zh", "zh2ru", что указывает на язык перевода. Text представляет собой текст для перевода, который будет возвращен после выполнения запроса.
  3. В случае, если Google Translate не работает, пожалуйста, используйте свои методы.
  4. Если вы хотите добавить другие переводчики, убедитесь, что они легко доступны для регистрации (например, Microsoft Translator требует кредитной карты для регистрации), имеют хороший API, который можно использовать для обучения, и не имеют временных ограничений (например, Youdao имеет бесплатный лимит, который истощается, что не соответствует моему требованию к долгосрочной работе).
  5. Оффлайн перевод занимает много времени без использования GPU, теоретически можно ускорить его с помощью GPU, но я этого не сделал.### Указания по установке сервера
  6. Установка сервера требует следующего (см. этот источник):
    1. Python 3.8
    2. Flask
    3. Gevent
    4. Transformers
    5. Sentencepiece
    6. Torch
  7. После установки запустите translation.py. При первом запуске будет загружена большая модель для оффлайн перевода, размер которой составляет более одного гигабайта, а также потребляет около одного гигабайта оперативной памяти. Если у вас уже есть загруженная модель, вы можете изменить путь в скрипте до локального адреса. Обратите внимание, что путь не должен содержать кириллицу. После этого повторная загрузка не требуется.
  8. В настройках программы введите URL http://127.0.0.1:16888/wesky-translater (если сервер установлен на другом устройстве, замените 127.0.0.1 на соответствующий IP).

Другие указания

  1. Если кто-то сможет создать пакет, пожалуйста, свяжитесь со мной, и я добавлю его в текст.
  2. Если возникнут странные проблемы, связываться со мной бесполезно, так как мои знания ограничены.

Ссылки для загрузки


https://gitee.com/wanglifree/tianruoocr-cl/releases

https://github.com/wangfreexx/wangfreexx-tianruoocr-cl-paddle/releases

Следующие цели


  1. Оффлайн перевод
  2. Переработка скриншотов
  3. Добавление бинаризации изображений для повышения точности распознавания## Обновление версий

v1.3.9 (2023.05.30)

  1. Обновлен ZXING, теперь можно распознавать штрих-коды
  2. Добавлена возможность пользователю самостоятельно задавать высоту и ширину, которая может быть установлена в других характеристиках. Однако следует учитывать минимальные значения высоты и ширины, которые не будут применяться при меньших значениях. При установке всех значений равными нулю, программа установит свои значения высоты и ширины.### v1.3.8.2 (2023.04.14)
  3. Удалены некоторые бесполезные иконки, такие как разделение, чтение вслух и т.д.
  4. Исправлено автоматическое обработку текста при статичном распознавании и статическом копировании, если это не указано в интерфейсе по умолчанию (слияние иконки правым кликом — становится красной).

v1.3.8.1 (2023.01.04)

  1. Оптимизация для экранов с высоким разрешением, возможность отдельной настройки масштабирования иконок и текста, что позволяет увеличивать интерфейс.

v1.3.8 (2023.01.04)

  1. По умолчанию отключено статичное распознавание.
  2. Внедрена поддержка экранов с высоким разрешением, возможность настройки масштабирования, что позволяет увеличивать интерфейс, за исключением перевода текста, который не масштабируется.
  3. Добавлена кнопка для добавления новой строки в конце.
  4. Поддержка прокси, полезна только для Google Translate, остальное не работает.

v1.3.7 (2022.11.21)

Обратите внимание: По умолчанию включен статичный перевод. Пожалуйста, измените это в настройках, так как это будет отключено по умолчанию в следующей версии.

версия 1.3.6 (8 ноября 2022 года)

  1. Исправлен баг с переводом только первой строки в Baidu Translate.
  2. Исправлен баг с появлением лишней строки переноса после каждого распознавания.### версия 1.3.5 (14 августа 2022 года) (не критическое обновление, не требуется загрузка при отсутствии региональных проблем)
  3. Полностью отказались от структуры ini и перешли на хранение конфигураций в xml-формате utf8, что позволяет адаптироваться к различным языковым средам (кроме unicode).### версия 1.3.4 (10 августа 2022 года)
  4. Исправлен баг с низким качеством распознавания Paddle.
  5. Больше не используем Fody для объединения dll.

версия 1.3.3 (7 августа 2022 года)

  1. Обновлен Paddle до модели v3, совместимой с RapidOCR.
  2. По поводу предыдущих отзывов о снижении качества распознавания, считаю, что проблема решена (на самом деле нет, что вызвало стресс, даже замена модели не привела к улучшению по сравнению с версией 1.2.5. Однако, если перезагрузить CL и снова выбрать Paddle, качество распознавания восстанавливается. Состояние стресса продолжается, но я планирую заняться этим вопросом в свободное время).
  3. Изменено управление пакетами NuGet на PackageReference, обновлены Emgu и другие библиотеки.
  4. Исправлен баг с чтением ini-файлов в различных языковых средах, теперь ini-файлы имеют кодировку Unicode.

версия 1.3.2 (11 марта 2022 года)

  1. Изменены названия моделей для удобства обновления и замены. Обновлена модель Paddle до версии, совместимой с RapidOCR, что повысило точность распознавания.

версия 1.3.1 (29 января 2022 года)

  1. Исправлен баг с потерей данных при включении функции объединения строк по умолчанию.
  2. Использование Fody для объединения dll, что уменьшило количество файлов.### Версия 1.3 (27 декабря 2021 года)
  3. Теперь работает и на Windows 7! (подробнее см. в разделе "Обновления").
  4. Исправлен баг с функцией объединения строк.
  5. Попытка решения проблемы с расхождением между распознанным текстом и отображаемым, когда в окне распознавания появляются повторяющиеся строки текста (на самом деле таких строк нет, они отображаются только для визуализации). Google Translate использует метод "ZZK-1989", что позволяет быстрее переводить текст и поддерживает распознавание абзацев. Однако качество перевода зависит от скорости интернет-соединения.

Версия 1.2.6

  1. Исправлено одно компиляционное исключение (конкретно, при отсутствии данных для компиляции).
  2. Улучшена логика объединения абзацев, кнопка разделения абзацев больше не очищает текст, но всё ещё не используется.
  3. Используется 64-битная компиляция.

Версия 1.2.5

  1. Восстановлен удалённый ранее онлайн-OCR от Baidu, теперь он доступен для использования и включает проверку ошибок, чтобы избежать сбоев.
  2. Добавлена задержка в перевод абзацев, чтобы избежать блокировки IP-адреса.

Версия 1.2.4

  1. Добавлена возможность сохранения перевода абзацев, теперь они не объединяются, достаточно просто переключиться на другой интерфейс, скорость может быть немного ниже из-за отдельного перевода каждого абзаца.

Версия 1.2.3

  1. Добавлена помощь по параметрам (с комментариями).

Версия 1.2.2

1.Исправлено исключение, которое не позволяло перезапустить приложение.

v1.2.1

  1. Исправлено исключение, которое не позволяло переключаться между моделями; начальная модель Paddle выбрана на английском языке.

v1.2

  1. Обновлены переводческие интерфейсы, теперь Google и Baidu доступны! Перенос строки автоматически обрабатывается, что удобно для PDF. Для Baidu требуется запрос API.
  2. Добавлены несколько легких моделей (для японского и английского языков); переключение требует перезапуска.
  3. Исправлены некоторые исключения, очищены некоторые исходные коды.
  4. Не планируется дальнейших обновлений!

v1.1

  1. Добавлена поддержка paddle-ocr; модель небольшая, скорость работы высока!
  2. Возможность переключения интерфейсов, хотя в проекте имена остаются прежними, но после компиляции будут отсутствовать метки "搜狗" и "腾讯".
  3. Оптимизировано использование памяти (после каждого распознавания происходит автоматическая очистка памяти).### V1.0
  4. Добавлена поддержка Chineseocr-lite, используется прежний интерфейс от "Sogou"## Несколько мыслей

v1.3.8

Чувствую, что многие "ложные" требования (поэтому говорю "ложные", так как считаю их ненужными), время и энергия ограничены, поэтому больше не буду обновлять, кроме исправления некоторых ошибок, конечно, если есть возможность оплаты, то можно рассмотреть, но это противоречит моим первоначальным намерениям.

v1.3.7

Обновление из-за закрытого кампуса, теперь полностью офлайн, что соответствует моим первоначальным желаниям.

v1.3.6

По причине того, что я сейчас на третьем курсе аспирантуры, последние времена были очень напряженными, поэтому не могу своевременно решать различные проблемы, к тому же я не родился программистом, поэтому с некоторыми проблемами я бессилен. Полное перепроектирование не обязательно, так как основной целью было обеспечить работу в офлайн-режиме. В будущем планирую добавить офлайн-перевод, чтобы полностью обеспечить работу в офлайн-режиме.

v1.3.4

Кружка чая, пачка сигарет, один баг — день наладки. Причина низкой точности распознавания paddle — модель была настроена с неправильными параметрами, которые не были инициализированы, что привело к некорректному распознаванию при первой попытке. Однако переключение модели эквивалентно инициализации. Конкретная ошибка находится на строке 438, вызвана неправильными параметрами.

v1.3.3

После компиляции на Windows 7 требуется ручная замена onnxruntime.dll, версия 1.6, версия из NuGet не поддерживает Windows 7, скачана из GitHub. Попытки решения проблемы чтения ini-файлов, планировалось изменить на чтение в UTF-8, но долго пробовал, ничего не получилось, потратил около трёх дней. Но сегодня использовал библиотеку другого человека и сразу всё заработало... ... ... всё же CRTLV удобнее

v1.3

Поддержка Windows 7 появилась благодаря просмотру проекта "吾爱" где один из мастеров сделал версию ncnn и onnx, аналогичную "天若本地版". Цель была решить проблему несоответствия Windows 7. К сожалению, проект не был открыт, но мастер предоставил идею, и следуя его пути, я сам скомпилировал onnxruntime, благодаря открытости Microsoft, скомпиляция была простой. Затем я скорректировал ссылки на библиотеки, и на Windows 7 действительно заработало (использовал виртуальную машину). Я скомпилировал версию onnxruntime 1.5.2, 1.6 я пробовал, кажется, не поддерживается, конкретно не знаю. Конечно, мастер сделал другие отличия, такие как QR-коды, локальные веб-страницы, я этого не делал, просто слишком слаб. Больше не буду обновлять, можно считать завершённым, этот проект просто простое копирование, методы очень примитивны, надеюсь, что однажды смогу помочь вам.

Поддержка со временем


Поддержка со временем## Лицензия

Лицензия GPL-3.0

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Если используется локальная версия OCR от Tianruo с открытым исходным кодом, применяются распознающие фреймворки Chinese-lite и PaddleOCR. Развернуть Свернуть
GPL-3.0
Отмена

Участники

все

Язык

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/wanglifree-tianruoocr-cl.git
git@api.gitlife.ru:oschina-mirror/wanglifree-tianruoocr-cl.git
oschina-mirror
wanglifree-tianruoocr-cl
wanglifree-tianruoocr-cl
master