Якщо ви шукаєте спосіб правильно вирівняти нахилений вміст на зображеннях, тоді ви потрапили в потрібне місце. У цій статті ми навчимося виконувати корекцію перекосу в обробці зображень за допомогою Python. Ми розповімо вам про основи виправлення перекосів у Python. Ми розповімо, як виявити перекіс на зображенні, як обчислити кут перекосу та як програмно вирівняти зображення за допомогою Python.
Ця стаття охоплює такі теми:
- Корекція перекосу зображення
- API корекції перекосів Python
- Виявлення перекосів у Python
- Автоматична корекція перекосу
- Deskew зображення вручну
- Корекція перекосу - безкоштовні ресурси
Корекція перекосу зображення
Виправлення перекосів під час обробки зображень, також відоме як виправлення перекосів, — це процес вирівнювання зображення, яке нахилено або перекошено, щоб зробити його візуально привабливішим і легшим для роботи. Перекіс може виникнути через різні причини, як-от неправильне сканування, спотворення перспективи або зміщення камери, як показано на зображенні нижче:
API Python для вирівнювання зображень
Aspose.OCR — це широко використовувана бібліотека оптичного розпізнавання символів, яка дозволяє розпізнавати розпізнавання зображень, фотографій зі смартфона, скріншотів, ділянок зображення та відсканованих PDF-файлів різними мовами програмування, зокрема Python. Ми будемо використовувати API Aspose.OCR for Python через .NET для виправлення перекосів.
Будь ласка, завантажте пакет або інсталюйте API з PyPI за допомогою такої команди pip у консолі:
pip install aspose-ocr-python-net
Виявлення кута перекосу в Python
Ми можемо легко визначити кут перекосу тексту на зображенні, виконавши наведені нижче дії.
- Створіть екземпляр класу AsposeOCR.
- Ініціалізація об’єкта класу OcrInput.
- Додайте зображення до пакету розпізнавання OcrInput.
- Викличте метод calculateskew(). Він приймає шлях зображення як аргумент.
- Покажіть розрахований кут перекосу.
У наступному прикладі коду показано, як визначити кут перекосу зображення в 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
Ми можемо ввімкнути автоматичне виправлення перекосу та зберегти виправлене зображення, виконавши наведені нижче дії.
- Створіть екземпляр класу AsposeOCR.
- Ініціалізація об’єкта класу PreprocessingFilter.
- Додайте фільтр autoskew().
- Після цього додайте зображення до пакету розпізнавання та застосуйте фільтр обробки за допомогою класу OcrInput.
- Нарешті, викличте метод 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
Для корекції перекосу вручну ми можемо визначити кут перекосу вручну, виконавши наведені нижче дії.
- Створіть екземпляр класу AsposeOCR.
- Ініціалізація об’єкта класу PreprocessingFilter.
- Додайте фільтр rotate().
- Після цього додайте зображення до пакету розпізнавання та застосуйте фільтр обробки за допомогою класу OcrInput.
- Нарешті, викличте метод 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. У разі будь-яких неясностей зв’яжіться з нами на нашому безкоштовному форумі підтримки.