Вирівнювання зображень у Python | Виправлення перекосу зображення в Python

Якщо ви шукаєте спосіб правильно вирівняти нахилений вміст на зображеннях, тоді ви потрапили в потрібне місце. У цій статті ми навчимося виконувати корекцію перекосу в обробці зображень за допомогою Python. Ми розповімо вам про основи виправлення перекосів у Python. Ми розповімо, як виявити перекіс на зображенні, як обчислити кут перекосу та як програмно вирівняти зображення за допомогою Python.

Ця стаття охоплює такі теми:

  1. Корекція перекосу зображення
  2. API корекції перекосів Python
  3. Виявлення перекосів у Python
  4. Автоматична корекція перекосу
  5. Deskew зображення вручну
  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. Викличте метод calculateskew(). Він приймає шлях зображення як аргумент.
  5. Покажіть розрахований кут перекосу.

У наступному прикладі коду показано, як визначити кут перекосу зображення в Python.

import aspose.ocr as ocr

# Створення екземпляра Aspose.OCR API
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

# Створення екземпляра Aspose.OCR API
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")

# Збережіть оброблене зображення в папку «result».
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

# Створення екземпляра Aspose.OCR API
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")

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

Отримайте безкоштовну ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію, щоб спробувати Aspose.OCR for Python через .NET без обмежень щодо оцінювання.

Виправлення перекосів – безкоштовні ресурси

Окрім впровадження корекції перекосу зображення в Python, ви можете глибше вивчити Python OCR API, використовуючи такі ресурси:

Висновок

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

Дивись також