Устранение перекосов изображений в Python | Коррекция перекоса изображения в Python

Если вы ищете способ правильно выровнять наклоненный контент на изображениях, то вы попали в нужное место. В этой статье мы узнаем, как выполнять коррекцию перекоса при обработке изображений с помощью Python. Мы познакомим вас с основами коррекции перекоса в Python. Мы расскажем, как обнаружить перекос изображения, как рассчитать угол перекоса и как программно исправить перекос изображений с помощью Python.

В этой статье рассматриваются следующие темы:

  1. Коррекция перекоса изображения
  2. API коррекции перекоса Python
  3. Обнаружение перекоса в Python
  4. Автоматическая коррекция перекоса
  5. Устранение перекоса изображений вручную
  6. Коррекция перекоса — бесплатные ресурсы

Коррекция перекоса изображения

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

Искаженное изображение

Исходное изображение.

API Python для устранения искажений изображений

Aspose.OCR — широко используемая библиотека оптического распознавания символов, которая позволяет выполнять оптическое распознавание отсканированных изображений, фотографий со смартфона, снимков экрана, областей изображения и отсканированных PDF-файлов на различных языках программирования, включая Python. Мы будем использовать API Aspose.OCR for Python через .NET для исправления перекоса.

Пожалуйста, загрузите пакет или установите API из PyPI, используя следующую команду pip в консоли:

pip install aspose-ocr-python-net

Определить угол наклона в Python

Мы можем легко определить угол перекоса текста на изображении, выполнив следующие действия:

  1. Создайте экземпляр класса AsposeOCR.
  2. Инициализируйте объект класса OcrInput.
  3. Добавьте изображение в пакет распознавания OcrInput.
  4. Вызовите метод Calculskew(). В качестве аргумента он принимает путь к изображению.
  5. Покажите рассчитанный угол перекоса.

В следующем примере кода показано, как определить угол наклона изображения в Python.

import aspose.ocr as ocr

# Создание экземпляра API Aspose.OCR
api = ocr.AsposeOcr()

# Добавить изображение в пакет распознавания
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE)
img.add("D:\\Files\\source.png")

# Определить угол перекоса
angles = api.calculate_skew(img);
for angle in angles:
    print("File: " + angle.source)
    print(f"Skew angle: {angle.angle:.1f}\xb0")
File: D:\Files\source.png
Skew angle: 5.8°

Автоматическая коррекция перекоса в Python

Мы можем включить автоматическую коррекцию перекоса и сохранить исправленное изображение, выполнив следующие действия:

  1. Создайте экземпляр класса AsposeOCR.
  2. Инициализируйте объект класса PreprocessingFilter.
  3. Добавьте фильтр autoskew().
  4. После этого добавьте изображение в пакет распознавания и примените фильтр обработки с помощью класса OcrInput.
  5. Наконец, вызовите метод ImageProcessing.save(), чтобы сохранить обработанное изображение в указанной папке.

В следующем примере кода показано, как применить автоматическую коррекцию перекоса с помощью фильтра предварительной обработки в Python.

import aspose.ocr as ocr

# Создание экземпляра API Aspose.OCR
api = ocr.AsposeOcr()

# Инициализация обработки изображений
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(filters.auto_skew())

# Добавьте изображение в пакет распознавания и примените фильтр обработки.
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")

# Сохраните обработанное изображение в папку «результат».
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")
Автоматическая коррекция перекоса с помощью фильтра на Python

Автоматическая коррекция перекоса с помощью фильтра на Python.

Устранение искажений изображений вручную в Python

Для ручной коррекции перекоса мы можем определить угол перекоса вручную, выполнив следующие действия:

  1. Создайте экземпляр класса AsposeOCR.
  2. Инициализируйте объект класса PreprocessingFilter.
  3. Добавьте фильтр Rotate().
  4. После этого добавьте изображение в пакет распознавания и примените фильтр обработки с помощью класса OcrInput.
  5. Наконец, вызовите метод ImageProcessing.save(), чтобы сохранить обработанное изображение в указанной папке.

В следующем примере кода показано, как вручную исправить искажения изображений в Python.

import aspose.ocr as ocr

# Создание экземпляра API Aspose.OCR
api = ocr.AsposeOcr()

# Инициализация обработки изображений
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(ocr.models.preprocessingfilters.PreprocessingFilter.rotate(5.8))

# Добавьте изображение в пакет распознавания и примените фильтр обработки.
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")

# Сохраните обработанное изображение в папку «результат».
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")

Получите бесплатную лицензию

Вы можете получить бесплатную временную лицензию, чтобы попробовать Aspose.OCR for Python через .NET без ограничений оценки.

Коррекция перекоса — бесплатные ресурсы

Помимо реализации коррекции перекоса изображения в Python, вы можете дополнительно изучить API Python OCR, используя следующие ресурсы:

Заключение

В этой статье мы узнали, как правильно выравнивать наклоненные изображения с помощью коррекции перекоса изображения в Python. Мы увидели, как компенсировать перекос изображений автоматическим методом и установкой угла поворота вручную. Используя Aspose.OCR for Python через .NET, вы можете легко встроить такую функцию в свои приложения Python. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на нашем форуме бесплатной поддержки.

Смотрите также