Это 16-й день моего участия в августовском испытании обновлений. Узнайте подробности события:Испытание августовского обновления
Жесткая и мягкая среда
- windows 10 64bit
- anaconda with python 3.7
- nivdia gtx 1066
- opencv 4.4.0
- tesseract 5.0.0 alpha
Введение
tesseract
изOCR(Optical Character Recognition)
Двигатель был впервые разработан HP Labs в 1985 году, а затем передан вgoogle
Продолжаем развиваться, сейчас проект находится вgithub
, начал поддерживать распознавание китайского языка после версии 3.0, а теперь доработан до версии 5.0, поддерживающей различные операционные системы. Давайте посмотрим на эту статьюtesseract-ocr
Основная установка, использование и какpython
позвонить.
установка tesseract-ocr
Официальный адрес загрузки:Джентльмен и действуй-OCR.GitHub.IO/особенно doc/Dow…, скачать здесьwindows
последняя версияНизкий гликемический индекс.Необходимо.у вас-Мангейм.'s/специальный джентльмен и действовать/он...
После загрузки установите его напрямую и выберите китайский пакет при установке компонентов, потому что мы хотим выполнить распознавание китайского текста.
Затем установите 2 системные переменные среды, которые будутtesseract-ocr
добавить каталог установки вPATH
, путь установки по умолчаниюC:\Program Files\Tesseract-OCR
Затем создайте новую переменную средыTESSDATA_PREFIX
, значение которогоC:\Program Files\Tesseract-OCR\tessdata
Если вы настроили путь установки, вам следует изменить его соответствующим образом.
Проверьте среду
по командеtesseract -v
Посмотреть номер версии
пройти черезtesseract --list-langs
, чтобы увидеть поддерживаемые языки
(base) PS C:\Users\Administrator> tesseract --list-langs
List of available languages (4):
chi_sim
chi_sim_vert
eng
osd
Тестовый эффект
Найдите изображение, содержащее китайский язык, чтобы проверить его.
tesseract test.png result -l chi_sim
Результаты распознавания сохраняются вresult.txt
в файле
использовать в питоне
Здесь требуется сторонняя библиотекаpytesseract
, первая установка
pip install pytesseract
Ниже приведен пример кода
import cv2
import sys
import pytesseract
if __name__ == '__main__':
if len(sys.argv) < 2:
print('Usage: python ocr_demo.py image.jpg')
sys.exit(1)
# 使用命令行参数
imPath = sys.argv[1]
# -l 识别中文
# --oem 使用LSTM作为OCR引擎,可选值为0、1、2、3;
# 0 Legacy engine only.
# 1 Neural nets LSTM engine only.
# 2 Legacy + LSTM engines.
# 3 Default, based on what is available.
# --psm 设置Page Segmentation模式为自动
config = ('-l chi_sim --oem 1 --psm 3')
im = cv2.imread(imPath, cv2.IMREAD_COLOR)
# 进行识别,本质上是调用tesseract命令行工具
text = pytesseract.image_to_string(im, config=config)
# 打印结果
print(text)
Запустив код с тестовым изображением выше, вы получите
(demo) PS C:\xugaoxiang\gogs\learnopencv\OCR> python .\ocr_demo.py C:\Users\Administrator\Desktop\test.png
个人网站: https://xugaoxiang.com