Deskew bilder i Python | Bildskevningskorrigering i Python

Om du letar efter ett sätt att korrekt anpassa det lutade innehållet i bilder, då har du landat på rätt plats. I den här artikeln kommer vi att lära oss hur man utför skevningskorrigering i bildbehandling med Python. Vi kommer att gå igenom grunderna för skevningskorrigering i Python. Vi kommer att ta upp hur man upptäcker skevhet i en bild, hur man beräknar snedställningsvinkeln och hur man kan korrigera sina bilder programmatiskt med Python.

Den här artikeln tar upp följande ämnen:

  1. Bildsnedvridning
  2. Python Skew Correction API
  3. Skew Detection in Python
  4. Automatisk skevningskorrigering
  5. Skäva bilder manuellt
  6. Skew Correction - Gratis resurser

Bildskevningskorrigering

Skevningskorrigering i bildbehandling, även känd som snedställning, är processen att justera en bild som är lutad eller sned för att få den att se mer visuellt tilltalande ut och lättare att arbeta med. Skevhet kan uppstå på grund av olika orsaker, såsom felaktig skanning, perspektivförvrängning eller kamerafel, som visas i bilden nedan:

Skev bild

Källbilden.

Python API för att deskew bilder

Aspose.OCR är ett allmänt använt OCR-bibliotek som gör det möjligt att utföra OCR på skannade bilder, smartphonefoton, skärmdumpar, delar av en bild och skannade PDF-filer på olika programmeringsspråk, inklusive Python. Vi kommer att använda Aspose.OCR för Python via .NET API för skevningskorrigeringar.

Vänligen ladda ner paketet eller installera API från PyPI med följande pip-kommando i konsolen:

pip install aspose-ocr-python-net

Upptäck Skew Angle i Python

Vi kan enkelt upptäcka snedställningsvinkeln för en text i en bild genom att följa stegen nedan:

  1. Skapa en instans av klassen AsposeOCR.
  2. Initiera ett objekt av klassen OcrInput.
  3. Lägg till bilden till OcrInput-igenkänningsbatchen.
  4. Anropa calculateskew()-metoden. Den tar bildvägen som ett argument.
  5. Visa den beräknade snedställningsvinkeln.

Följande exempelkod visar hur man upptäcker snedställningsvinkeln för en bild i Python.

import aspose.ocr as ocr

# Instantiera Aspose.OCR API
api = ocr.AsposeOcr()

# Lägg till bild till igenkänningsbatchen
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE)
img.add("D:\\Files\\source.png")

# Upptäck sned vinkel
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°

Automatisk skevningskorrigering i Python

Vi kan aktivera automatisk snedställningskorrigering och spara den korrigerade bilden genom att följa stegen nedan:

  1. Skapa en instans av klassen AsposeOCR.
  2. Initiera ett objekt av klassen PreprocessingFilter.
  3. Lägg till autoskew()-filtret.
  4. Efter det lägger du till bilden i igenkänningsbatchen och använder ett bearbetningsfilter med OcrInput-klassen.
  5. Till sist, anropa metoden ImageProcessing.save() för att spara den bearbetade bilden i den angivna sökvägsmappen.

Följande exempelkod visar hur man tillämpar automatisk skevningskorrigering med ett förbearbetningsfilter i Python.

import aspose.ocr as ocr

# Instantiera Aspose.OCR API
api = ocr.AsposeOcr()

# Initiera bildbehandlingen
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(filters.auto_skew())

# Lägg till bild till igenkänningsbatchen och använd bearbetningsfilter
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")

# Spara den bearbetade bilden i mappen "resultat".
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")
Automatisk skevningskorrigering med filter i Python

Automatisk skevningskorrigering med filter i Python.

Ta bort bilder manuellt i Python

För manuell skevningskorrigering kan vi definiera snedställningsvinkeln manuellt genom att följa stegen nedan:

  1. Skapa en instans av klassen AsposeOCR.
  2. Initiera ett objekt av klassen PreprocessingFilter.
  3. Lägg till rotate()-filtret.
  4. Efter det lägger du till bilden i igenkänningsbatchen och använder ett bearbetningsfilter med OcrInput-klassen.
  5. Till sist, anropa metoden ImageProcessing.save() för att spara den bearbetade bilden i den angivna sökvägsmappen.

Följande exempelkod visar hur man korrigerar bilder manuellt i Python.

import aspose.ocr as ocr

# Instantiera Aspose.OCR API
api = ocr.AsposeOcr()

# Initiera bildbehandlingen
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(ocr.models.preprocessingfilters.PreprocessingFilter.rotate(5.8))

# Lägg till bild till igenkänningsbatchen och använd bearbetningsfilter
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")

# Spara den bearbetade bilden i mappen "resultat".
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")

Skaffa en gratis licens

Du kan få en gratis tillfällig licens för att prova Aspose.OCR för Python via .NET utan utvärderingsbegränsningar.

Skew Correction - Gratis resurser

Förutom att implementera snedställningskorrigering i Python kan du utforska Python OCR API ytterligare med hjälp av följande resurser:

Slutsats

I den här artikeln har vi lärt oss hur man korrekt justerar de lutade bilderna med hjälp av snedställningskorrigeringen i Python. Vi har sett hur man kan korrigera bilder med den automatiska metoden och genom att ställa in rotationsvinkeln manuellt. Genom att utnyttja Aspose.OCR för Python via .NET kan du enkelt bädda in en sådan funktion i dina Python-applikationer. I händelse av oklarheter är du välkommen att kontakta oss på vårt gratis supportforum.

Se även