Przeprostuj obrazy w Python | Korekcja przekrzywienia obrazu w Python

Jeśli szukasz sposobu na prawidłowe wyrównanie pochylonej treści na obrazach, to trafiłeś we właściwe miejsce. W tym artykule dowiemy się, jak wykonać korekcję skosu w przetwarzaniu obrazu za pomocą Python. Przeprowadzimy Cię przez podstawy korekcji skosu w Python. Omówimy, jak wykryć przekrzywienie obrazu, jak obliczyć kąt pochylenia i jak programowo przekrzywić obrazy za pomocą języka Python.

W tym artykule omówiono następujące tematy:

  1. Korekcja przekrzywienia obrazu
  2. API korekcji pochylenia Python
  3. Wykrywanie przekrzywienia w Python
  4. Automatyczna korekcja przekrzywienia
  5. Ręczne usuwanie przekrzywień obrazów
  6. Korekcja przekrzywienia – bezpłatne zasoby

Korekcja przekrzywienia obrazu

Korekta pochylenia w przetwarzaniu obrazu, znana również jako prostowanie, to proces wyrównywania przechylonego lub przekrzywionego obrazu, aby wyglądał atrakcyjniej wizualnie i był łatwiejszy w obróbce. Przekrzywienie może wystąpić z różnych powodów, takich jak nieprawidłowe skanowanie, zniekształcenie perspektywy lub nieprawidłowe ustawienie aparatu, jak pokazano na poniższej ilustracji:

Przekrzywiony obraz

Obraz źródłowy.

API Python do prostowania obrazów

Aspose.OCR to szeroko stosowana biblioteka OCR, która umożliwia wykonywanie OCR na zeskanowanych obrazach, zdjęciach ze smartfonów, zrzutach ekranu, obszarach obrazu i zeskanowanych plikach PDF w różnych językach programowania, w tym w Python. Będziemy używać Aspose.OCR for Python poprzez .NET API do korekcji skosu.

Proszę pobierz pakiet lub zainstaluj API z PyPI, używając następującego polecenia pip w konsoli:

pip install aspose-ocr-python-net

Wykryj kąt pochylenia w Python

Możemy łatwo wykryć kąt pochylenia tekstu na obrazie, wykonując poniższe czynności:

  1. Utwórz instancję klasy AsposeOCR.
  2. Zainicjuj obiekt klasy OcrInput.
  3. Dodaj obraz do partii rozpoznawania OcrInput.
  4. Wywołaj metodę obliczskew(). Jako argument przyjmuje ścieżkę obrazu.
  5. Pokaż obliczony kąt skosu.

Poniższy przykładowy kod pokazuje, jak wykryć kąt pochylenia obrazu w języku Python.

import aspose.ocr as ocr

# Utwórz instancję API Aspose.OCR
api = ocr.AsposeOcr()

# Dodaj obraz do partii rozpoznawania
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE)
img.add("D:\\Files\\source.png")

# Wykryj kąt pochylenia
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°

Automatyczna korekcja skosu w Python

Możemy włączyć automatyczną korektę przekrzywienia i zapisać poprawiony obraz, wykonując poniższe czynności:

  1. Utwórz instancję klasy AsposeOCR.
  2. Zainicjuj obiekt klasy PreprocessingFilter.
  3. Dodaj filtr autoskew().
  4. Następnie dodaj obraz do partii rozpoznawania i zastosuj filtr przetwarzania przy użyciu klasy OcrInput.
  5. Na koniec wywołaj metodę ImageProcessing.save(), aby zapisać przetworzony obraz w określonym folderze ścieżki.

Poniższy przykładowy kod pokazuje, jak zastosować korekcję automatycznego pochylenia za pomocą filtru przetwarzania wstępnego w języku Python.

import aspose.ocr as ocr

# Utwórz instancję API Aspose.OCR
api = ocr.AsposeOcr()

# Zainicjuj przetwarzanie obrazu
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(filters.auto_skew())

# Dodaj obraz do partii rozpoznawania i zastosuj filtr przetwarzania
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")

# Zapisz przetworzony obraz w folderze „result”.
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")
Automatyczna korekcja skosu z filtrem w Python

Automatyczna korekcja skosu z filtrem w Python.

Przeprostuj obrazy ręcznie w Python

W przypadku ręcznej korekcji skosu możemy ręcznie zdefiniować kąt skosu, wykonując poniższe kroki:

  1. Utwórz instancję klasy AsposeOCR.
  2. Zainicjuj obiekt klasy PreprocessingFilter.
  3. Dodaj filtr obróć().
  4. Następnie dodaj obraz do partii rozpoznawania i zastosuj filtr przetwarzania przy użyciu klasy OcrInput.
  5. Na koniec wywołaj metodę ImageProcessing.save(), aby zapisać przetworzony obraz w określonym folderze ścieżki.

Poniższy przykładowy kod pokazuje, jak ręcznie wyprostować obrazy w języku Python.

import aspose.ocr as ocr

# Utwórz instancję API Aspose.OCR
api = ocr.AsposeOcr()

# Zainicjuj przetwarzanie obrazu
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(ocr.models.preprocessingfilters.PreprocessingFilter.rotate(5.8))

# Dodaj obraz do partii rozpoznawania i zastosuj filtr przetwarzania
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")

# Zapisz przetworzony obraz w folderze „result”.
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")

Zdobądź bezpłatną licencję

Możesz uzyskać bezpłatną licencję tymczasową, aby wypróbować Aspose.OCR for Python za pośrednictwem .NET bez ograniczeń ewaluacyjnych.

Korekcja przekrzywienia — bezpłatne zasoby

Oprócz zaimplementowania korekcji przekrzywienia obrazu w języku Python możesz dokładniej poznać interfejs API OCR języka Python, korzystając z następujących zasobów:

Wniosek

W tym artykule dowiedzieliśmy się, jak prawidłowo wyrównać przechylone obrazy za pomocą korekcji skosu obrazu w Python. Widzieliśmy, jak przekrzywiać obrazy, stosując metodę automatyczną i ręcznie ustawiając kąt obrotu. Wykorzystując Aspose.OCR for Python poprzez .NET, możesz łatwo osadzić taką funkcję w swoich aplikacjach Python. W przypadku jakichkolwiek niejasności prosimy o kontakt na naszym bezpłatnym forum pomocy technicznej.

Zobacz też