Распознавание текста с картинки в Excel: от скриншота до редактируемых данных

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

Эта статья не про магию — речь пойдёт о технологии OCR (Optical Character Recognition), которая преобразует пиксели в символы. Мы разберём встроенные возможности Excel 365 и Excel 2021, а также внешние сервисы для распознавания текста с максимальной точностью. Особое внимание уделим нюансам: как избежать ошибок при работе с размытыми изображениями, таблицами с сеткой или текстом на цветном фоне.

Спойлер: если вам нужно распознать одну-две картинки, хватит и стандартных инструментов Microsoft. Для обработки сотен документов потребуются продвинутые решения — их мы тоже рассмотрим.

📊 Как часто вам приходится распознавать текст с изображений в Excel?
Ежедневно
Раз в неделю
Редико
Никогда

1. Встроенное распознавание текста в Excel 365/2021: пошаговая инструкция

Начиная с версии Excel 365 (обновление от мая 2022 года), в программе появилась функция извлечения данных с изображений на основе технологии Microsoft Power Query. Она работает прямо в интерфейсе таблиц и не требует установки дополнительного ПО.

Чтобы воспользоваться ею:

  1. Откройте книгу Excel и перейдите на вкладку Данные.
  2. В группе Получить данные выберите Из файла → Из изображения.
  3. Загрузите файл (поддерживаются форматы .jpg, .png, .bmp).
  4. Дождитесь обработки — Excel покажет предварительный результат в окне Power Query.
  5. Нажмите Импортировать, чтобы вставить данные в новую таблицу.

⚠️ Внимание: Функция доступна только в Excel для Windows (версии 2205 и новее) и Excel для Mac (версии 16.54 и новее). В веб-версии и мобильных приложениях её нет.

- Убедитесь, что текст чёткий (разрешение не менее 300 dpi)

- Удалите тени и блики с фото

- Поверните изображение, если текст расположен под углом

- Обрежьте лишние поля (оставьте только таблицу/текст)

-->

Стандартный OCR от Microsoft справляется с печатным текстом на 80–90%, но может ошибаться с:

  • 🔹 Рукописными записями (распознаёт только печатные символы).
  • 🔹 Таблицами с тонкими линиями (может "склеить" ячейки).
  • 🔹 Текстом на цветном фоне (лучше работает с чёрно-белыми изображениями).
  • 🔹 Языками с нелатинской письменностью (кириллица распознаётся хуже, чем латиница).

2. Альтернативные способы: OneNote + Excel и онлайн-сервисы

Если ваша версия Excel не поддерживает встроенный OCR, или качество распознавания вас не устраивает, воспользуйтесь обходными путями. Один из самых надёжных — комбинация OneNote и Excel.

Как это работает:

  1. Откройте OneNote (входит в пакет Microsoft Office).
  2. Перетащите изображение в заметку или вставьте его через Вставка → Изображение.
  3. Щёлкните по картинке правой кнопкой и выберите Копировать текст с изображения.
  4. Вставьте скопированный текст в Excel (Ctrl+V).

Преимущество этого метода — OneNote использует более совершенный OCR-движок, чем Excel, и лучше справляется с таблицами и многоязычным текстом. Однако для больших объёмов данных процесс придётся повторять вручную для каждого изображения.

Для автоматизации подойдут онлайн-сервисы:

Сервис Бесплатный лимит Поддержка таблиц Точность (рус.)
OnlineOCR 15 изображений/час Да 85%
NewOCR 10 изображений/день Нет 80%
OCR.Space 25 000 символов/месяц Да (API) 88%
i2OCR Без ограничений Частично 75%

⚠️ Внимание: Онлайн-сервисы передают ваши данные на внешние серверы. Не загружайте изображения с конфиденциальной информацией (паспортные данные, финансовые отчёты).

3. Распознавание текста с помощью Power Query (для опытных пользователей)

Для тех, кто знаком с Power Query, есть более гибкий способ извлечения данных с изображений. Он требует немного больше усилий, но позволяет обрабатывать партии файлов и настраивать правила очистки текста.

Алгоритм действий:

  1. Создайте папку и поместите в неё все изображения для распознавания.
  2. В Excel перейдите в Данные → Получить данные → Из файла → Из папки.
  3. Выберите папку с изображениями и нажмите Импортировать.
  4. В открывшемся окне Power Query добавьте пользовательскую функцию для OCR (например, через Python-скрипт или подключение к Azure Cognitive Services).
  5. Примените трансформации для очистки данных и загрузите результат в Excel.

Пример кода для Power Query (требуется подключение к Azure OCR):

let

// Подключение к Azure OCR (замените YOUR_KEY и YOUR_ENDPOINT)

Source = Folder.Files("C:\Images"),

#"Added Custom" = Table.AddColumn(Source, "OCRText", each Text.FromBinary(Binary.Buffer(File.Contents([Folder Path] & "\" & [Name])))),

#"Invoked Custom Function" = Table.TransformColumns(#"Added Custom", {{"OCRText", each AzureOCR.Contents([OCRText], "YOUR_ENDPOINT", "YOUR_KEY")}})

in

#"Invoked Custom Function"

Этот метод подходит для:

  • 📊 Регулярной обработки больших объёмов изображений.
  • 🔄 Автоматизации (можно создать шаблон для повторного использования).
  • 🛠 Глубокой очистки данных (удаление артефактов, исправление ошибок OCR).
Что такое Azure Cognitive Services?

Azure Cognitive Services — это облачная платформа от Microsoft для искусственного интеллекта, включающая OCR-сервис Computer Vision. Она распознаёт текст с точностью до 98% (включая рукописный), поддерживает 100+ языков и умеет сохранять структуру таблиц. Для использования требуется аккаунт Azure (первые 5 000 транзакций в месяц бесплатны).

4. Обработка результатов: как исправить ошибки OCR в Excel

Даже самый совершенный OCR допускает ошибки. После распознавания текст потребуется очистить. Вот типичные проблемы и способы их решения:

Проблема Причина Решение в Excel
Символы "1" и "l" (единица и буква "эл") Сходное начертание в шрифтах Используйте НАЙТИ/ЗАМЕНИТЬ с проверкой контекста (например, заменить "l000" на "1000")
Лишние пробелы между словами Артефакты сканирования Функция =ПЕЧСИМВ(ПОДСТАВИТЬ(A1;" ";"")) для удаления всех пробелов
Неправильные регистры ("нАзВание") Ошибки сегментации символов Функции =ПРОПИСН(), =СТРОЧН() или =ПРОПНАЧ()
Склеенные слова ("приветмир") Низкое разрешение изображения Ручная правка или формула с =ПОИСК() для вставки пробелов

Для ускорения очистки используйте макросы. Например, этот код автоматически исправляет самые частые ошибки OCR:

Sub CleanOCR()

Dim rng As Range

For Each rng In Selection

rng.Value = Replace(rng.Value, " l ", " 1 ")

rng.Value = Replace(rng.Value, "O", "0")

rng.Value = Replace(rng.Value, " ,", ",")

rng.Value = WorksheetFunction.Clean(rng.Value)

Next rng

End Sub

⚠️ Внимание: Перед запуском макроса сохраните исходные данные на отдельном листе. Некоторые замены могут быть неоднозначными (например, "O" → "0" испортит слова вроде "ОК").

5. Распознавание таблиц: как сохранить структуру данных

Главная сложность при работе с изображениями таблиц — сохранение разметки ячеек. Стандартный OCR в Excel часто "сваливает" всё в один столбец или неправильно определяет границы. Чтобы этого избежать:

Способ 1: Предварительная разметка в графическом редакторе

  • 🖌 Откройте изображение в Photoshop или бесплатном GIMP.
  • 🔍 Увеличьте контрастность линий таблицы (инструмент Уровни или Кривые).
  • 🟦 Закрасьте фон ячеек в однотонный цвет (например, светло-серый), а текст оставьте чёрным.
  • 💾 Сохраните в формате .png с максимальным качеством.

Способ 2: Использование специализированных OCR для таблиц

Сервисы вроде TableCapture или Tabula (бесплатный) умеют распознавать табличные структуры лучше, чем универсальные OCR. Они экспортируют данные в .csv, который затем можно импортировать в Excel.

Способ 3: Ручная постобработка в Excel

Если таблица распозналась как сплошной текст:

  1. Вставьте результат в Excel.
  2. Используйте Текст по столбцам (Данные → Текст по столбцам) с разделителем Знак табуляции или Пробел.
  3. При необходимости объедините "разорванные" ячейки с помощью функции =ОБЪЕДИНИТЬ().

6. Мобильные решения: как распознать текст с фото на телефоне

Если вам нужно срочно перенести данные с бумажного документа в Excel, а под рукой только смартфон, воспользуйтесь мобильными приложениями с OCR:

  • 📱 Microsoft Lens (бесплатно, iOS/Android) — сканирует документы и экспортирует текст в Excel через OneDrive.
  • 📱 Adobe Scan — распознаёт таблицы и сохраняет в .xlsx (требует подписку для экспорта).
  • 📱 Text Fairy (Android) — бесплатный OCR с поддержкой 50+ языков, но без прямого экспорта в Excel (нужно копировать текст вручную).
  • 📱 Office Lens (входит в пакет Microsoft 365) — оптимизирован для работы с Excel, сохраняет структуру таблиц.

Инструкция для Microsoft Lens:

  1. Сфотографируйте документ (держите телефон параллельно листу).
  2. Нажмите Готово и выберите режим Документ.
  3. В меню экспорта выберите Excel (файл сохранится в OneDrive).
  4. Откройте файл в Excel на компьютере для окончательной правки.

⚠️ Внимание: При съёмке на телефон избегайте теней и бликов — они снижают точность распознавания на 30–40%. Используйте дополнительное освещение или фотографируйте при дневном свете.

7. Продвинутые техники: OCR через Python и Excel

Для пользователей, знакомых с программированием, самый мощный инструмент — библиотека pytesseract для Python. Она позволяет настраивать распознавание под конкретные шрифты, языки и форматы таблиц.

Пример скрипта для распознавания изображения и экспорта в Excel:

import pytesseract

import cv2

import pandas as pd

from PIL import Image

Загрузка изображения

image = cv2.imread('table.png')

Препроцессинг (увеличение контрастности)

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]

Распознавание текста

custom_config = r'--oem 3 --psm 6'

text = pytesseract.image_to_string(thresh, config=custom_config, lang='rus+eng')

Сохранение в Excel

df = pd.DataFrame([text.split('\n')])

df.to_excel('output.xlsx', index=False)

Преимущества этого подхода:

  • 🎛 Тонкая настройка параметров распознавания (например, для мелкого текста или нестандартных шрифтов).
  • 📊 Автоматическая обработка сотен изображений за одну команду.
  • 🔧 Интеграция с Excel через библиотеки pandas или openpyxl.

Для запуска скрипта потребуется установить:

  • 🐍 Python 3.8+ (среда Anaconda упростит настройку).
  • 📦 Библиотеки: pip install pytesseract opencv-python pandas pillow.
  • 🖥 Движок Tesseract OCR (скачать с официального сайта).
Как улучшить точность pytesseract?

1. Увеличьте разрешение изображения в 2 раза (используйте cv2.resize()).

2. Примените фильтр размытия (cv2.GaussianBlur()) для удаления шумов.

3. Обучите Tesseract на вашем шрифте (требует датасет изображений с разметкой).

4. Используйте параметр --psm 6 для таблиц или --psm 11 для сплошного текста.

FAQ: Частые вопросы по распознаванию текста в Excel

Можно ли распознать рукописный текст в Excel?

Стандартные инструменты Excel и OneNote рукописный текст не распознают. Для этого подойдут:

  • 🖋 Microsoft OneNote (частичная поддержка, если почерк разборчивый).
  • 🤖 Google Keep или Evernote (используют OCR от Google).
  • 💻 Специализированные сервисы вроде MyScript (платно, точность ~70%).

После распознавания текст можно скопировать в Excel.

Почему Excel неправильно распознаёт цифры (например, "8" как "B")?

Это типичная ошибка OCR, вызванная:

  • 🔢 Сходством символов в шрифтах (например, "8" и "B" в Arial выглядят почти одинаково).
  • 📉 Низким разрешением изображения (менее 200 dpi).
  • 🎨 Цветовым шумом (например, серый текст на белом фоне).

Решение: увеличьте контрастность изображения перед распознаванием или проверьте результаты вручную.

Как распознать текст на скриншоте с веб-страницы?

Для скриншотов веб-страниц лучше использовать:

  • 🌐 Расширения браузера (например, Copyfish для Chrome).
  • 🖥 Встроенный OCR в Windows 11 (сочетание клавиш Win + Shift + S → "Текст").
  • 📱 Мобильные приложения (Microsoft Lens или Google Lens).

Excel в этом случае удобен для дальнейшей обработки данных, но не для самого распознавания.

Можно ли автоматизировать распознавание для сотен изображений?

Да, для этого подойдут:

  • 🤖 Power Query + Azure OCR (как описано в разделе 3).
  • 🐍 Python-скрипты с pytesseract и openpyxl.
  • 📂 Пакетная обработка в Adobe Acrobat Pro (платно, но поддерживает экспорт в Excel).

Для настройки автоматизации может потребоваться помощь программиста.

Как распознать текст на цветном фоне или с узором?

Цветной фон и узоры снижают точность OCR на 40–60%. Решения:

  • 🎨 Удалите фон в графическом редакторе (инструмент Волшебная палочка в Photoshop).
  • 🖼 Инвертируйте цвета (чёрный текст на белом фоне распознаётся лучше).
  • 🔍 Используйте OCR с поддержкой адаптивной бинаризации (например, ABBYY FineReader).

Если фон нельзя убрать, попробуйте увеличить яркость и контрастность изображения.