OCR на VPS: распознавание текста с изображений
OCR превращает сканы, фото документов и картинки в редактируемый текст. На своем VPS ты обрабатываешь архивы документов пачками, распознаешь русский и не платишь за каждую страницу облачным сервисам.
Содержание
Где нужен свой OCR
['OCR (оптическое распознавание символов) полезен везде, где текст заперт в картинке: сканы договоров и книг, фото чеков и счетов, скриншоты, старые PDF без текстового слоя. Локальный OCR на VPS обрабатывает такие архивы пачками, не сливает документы в чужое облако и не берет плату за страницу.', 'Отдельный сценарий — автоматизация: почтовый бот получает вложение-скан, извлекает из него текст и данные, и кладет в базу без участия человека. Для этого движок распознавания должен жить на сервере и работать по API.']Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для OCRДва подхода: Tesseract и EasyOCR
['Tesseract — классический движок OCR, быстрый и нетребовательный, отлично работает со сканами и чистыми документами. EasyOCR — нейросетевой, лучше справляется с фото, кривыми углами и рукописью, но тяжелее.', '- Tesseract: сканы, PDF, счета, книги — быстро на CPU
- EasyOCR: фото с телефона, вывески, сложные фоны
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.
Установка Tesseract
['Ставим движок и русский языковой пакет:', 'apt update && apt install -y tesseract-ocr tesseract-ocr-rus tesseract-ocr-eng poppler-utils', 'poppler-utils нужен для конвертации PDF в картинки. Проверяем распознавание изображения:', 'tesseract document.png output -l rus\ncat output.txt', 'Флаг -l rus подключает русскую модель, -l rus+eng — смешанный текст.']
OCR для PDF
['PDF сначала разбиваем на страницы-картинки, потом распознаем каждую:', 'pdftoppm -png -r 300 scan.pdf page\nfor f in page-*.png; do\n tesseract "$f" "${f%.png}" -l rus\ndone\ncat page-*.txt > result.txt', 'Разрешение 300 dpi (-r 300) — оптимум: ниже теряется точность, выше растет время без выигрыша. Быстрый NVMe у MAATRIX ускоряет пакетную обработку — при сотнях страниц узкое место часто именно диск, а не CPU.']
EasyOCR для фото
['Для сложных изображений ставим нейросетевой EasyOCR:', 'python3 -m venv ~/ocr-venv\nsource ~/ocr-venv/bin/activate\npip install easyocr torch torchvision --index-url https://download.pytorch.org/whl/cpu\npip install easyocr', 'import easyocr\nreader = easyocr.Reader([\'ru\', \'en\'])\nresult = reader.readtext(\'photo.jpg\', detail=0)\nprint("\\n".join(result))', 'При первом запуске EasyOCR скачает модели детекции и распознавания — они кешируются на диске и переиспользуются.']
API-обертка
['Оборачиваем OCR в HTTP-сервис для приема картинок по сети:', 'from fastapi import FastAPI, UploadFile\nimport pytesseract, io\nfrom PIL import Image\n\napp = FastAPI()\n\n@app.post("/ocr")\nasync def ocr(file: UploadFile):\n img = Image.open(io.BytesIO(await file.read()))\n text = pytesseract.image_to_string(img, lang="rus")\n return {"text": text}', 'pip install fastapi uvicorn pytesseract pillow python-multipart\nuvicorn app:app --host 127.0.0.1 --port 8003', 'Библиотека pytesseract — это тонкая Python-обертка над тем же бинарником Tesseract, поэтому язык и параметры передаются через аргумент lang и config. Например, --psm 6 говорит движку, что перед ним единый блок текста, а не разрозненные строки — это заметно повышает точность на таблицах и колонках.']
Качество и частые ошибки
['Точность OCR сильно зависит от подготовки изображения. Перед распознаванием картинку полезно выпрямить, повысить контраст и убрать шум через ImageMagick:', 'apt install -y imagemagick\nconvert scan.png -deskew 40% -threshold 60% clean.png\ntesseract clean.png out -l rus', '- Кракозябры вместо русского — забыл пакет tesseract-ocr-rus или флаг -l rus.
- Пустой результат — слишком низкое разрешение, сканируй от 300 dpi.
- Кривой текст с фото — переходи на EasyOCR или выпрямляй через -deskew.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для OCRНужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.
Частые вопросы
Tesseract или EasyOCR?
Tesseract быстрее и легче для сканов и PDF. EasyOCR точнее на фото, вывесках и сложных фонах, но требует больше ресурсов.
Распознает ли русский?
Да. Tesseract с пакетом tesseract-ocr-rus и EasyOCR с языком 'ru' хорошо читают русский текст.
Можно ли обрабатывать PDF?
Да, через pdftoppm PDF конвертируется в картинки постранично, а затем каждая страница распознается Tesseract и склеивается в один текст.