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:
- Korekcja przekrzywienia obrazu
- API korekcji pochylenia Python
- Wykrywanie przekrzywienia w Python
- Automatyczna korekcja przekrzywienia
- Ręczne usuwanie przekrzywień obrazów
- 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:
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:
- Utwórz instancję klasy AsposeOCR.
- Zainicjuj obiekt klasy OcrInput.
- Dodaj obraz do partii rozpoznawania OcrInput.
- Wywołaj metodę obliczskew(). Jako argument przyjmuje ścieżkę obrazu.
- 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:
- Utwórz instancję klasy AsposeOCR.
- Zainicjuj obiekt klasy PreprocessingFilter.
- Dodaj filtr autoskew().
- Następnie dodaj obraz do partii rozpoznawania i zastosuj filtr przetwarzania przy użyciu klasy OcrInput.
- 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\\")
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:
- Utwórz instancję klasy AsposeOCR.
- Zainicjuj obiekt klasy PreprocessingFilter.
- Dodaj filtr obróć().
- Następnie dodaj obraz do partii rozpoznawania i zastosuj filtr przetwarzania przy użyciu klasy OcrInput.
- 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:
- Przewodnik programisty
- Darmowe aplikacje internetowe
- Odniesienie do API
- Poradniki i artykuły z instrukcjami
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.