Se você está procurando uma maneira de alinhar corretamente o conteúdo inclinado nas imagens, você chegou ao lugar certo. Neste artigo, aprenderemos como realizar a correção de distorção no processamento de imagens usando Python. Orientaremos você nos fundamentos da correção de distorção em Python. Abordaremos como detectar distorção em uma imagem, como calcular o ângulo de inclinação e como distorcer suas imagens programaticamente usando Python.
Este artigo cobre os seguintes tópicos:
- Correção de distorção de imagem
- API de correção de distorção do Python
- Detecção de distorção em Python
- Correção automática de inclinação
- DeSkew Imagens Manualmente
- Correção de inclinação - Recursos gratuitos
Correção de distorção de imagem
A correção de distorção no processamento de imagem, também conhecida como alinhamento, é o processo de alinhar uma imagem que está inclinada ou distorcida para torná-la mais atraente visualmente e mais fácil de trabalhar. A inclinação pode ocorrer por vários motivos, como digitalização inadequada, distorção de perspectiva ou desalinhamento da câmera, conforme mostrado na imagem abaixo:
API Python para distorcer imagens
Aspose.OCR é uma biblioteca de OCR amplamente usada que permite realizar OCR em imagens digitalizadas, fotos de smartphones, capturas de tela, áreas de uma imagem e PDFs digitalizados em várias linguagens de programação, incluindo Python. Estaremos usando a API Aspose.OCR for Python via .NET para correções de distorção.
Por favor, baixe o pacote ou instale a API do PyPI usando o seguinte comando pip no console:
pip install aspose-ocr-python-net
Detectar ângulo de inclinação em Python
Podemos detectar facilmente o ângulo de inclinação de um texto em uma imagem seguindo as etapas abaixo:
- Crie uma instância da classe AsposeOCR.
- Inicialize um objeto da classe OcrInput.
- Adicione a imagem ao lote de reconhecimento OcrInput.
- Chame o método calculaskew(). Toma o caminho da imagem como argumento.
- Mostre o ângulo de inclinação calculado.
O código de exemplo a seguir mostra como detectar o ângulo de inclinação de uma imagem em Python.
import aspose.ocr as ocr
# Instanciar API Aspose.OCR
api = ocr.AsposeOcr()
# Adicionar imagem ao lote de reconhecimento
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE)
img.add("D:\\Files\\source.png")
# Detectar ângulo de inclinação
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°
Correção automática de distorção em Python
Podemos ativar a correção automática de inclinação e salvar a imagem corrigida seguindo as etapas abaixo:
- Crie uma instância da classe AsposeOCR.
- Inicialize um objeto da classe PreprocessingFilter.
- Adicione o filtro autoskew().
- Depois disso, adicione a imagem ao lote de reconhecimento e aplique um filtro de processamento usando a classe OcrInput.
- Por fim, chame o método ImageProcessing.save() para salvar a imagem processada na pasta do caminho especificado.
O código de exemplo a seguir mostra como aplicar a correção de distorção automática com um filtro de pré-processamento em Python.
import aspose.ocr as ocr
# Instanciar API Aspose.OCR
api = ocr.AsposeOcr()
# Inicialize o processamento de imagem
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(filters.auto_skew())
# Adicione imagem ao lote de reconhecimento e aplique filtro de processamento
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")
# Salve a imagem processada na pasta "resultado"
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")
Desnivelar imagens manualmente em Python
Para correção manual de inclinação, podemos definir o ângulo de inclinação manualmente seguindo as etapas abaixo:
- Crie uma instância da classe AsposeOCR.
- Inicialize um objeto da classe PreprocessingFilter.
- Adicione o filtro rotate().
- Depois disso, adicione a imagem ao lote de reconhecimento e aplique um filtro de processamento usando a classe OcrInput.
- Por fim, chame o método ImageProcessing.save() para salvar a imagem processada na pasta do caminho especificado.
O código de exemplo a seguir mostra como enquadrar imagens manualmente em Python.
import aspose.ocr as ocr
# Instanciar API Aspose.OCR
api = ocr.AsposeOcr()
# Inicialize o processamento de imagem
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(ocr.models.preprocessingfilters.PreprocessingFilter.rotate(5.8))
# Adicione imagem ao lote de reconhecimento e aplique filtro de processamento
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")
# Salve a imagem processada na pasta "resultado"
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")
Obtenha uma licença gratuita
Você pode obter uma licença temporária gratuita para experimentar o Aspose.OCR para Python via .NET sem limitações de avaliação.
Correção de inclinação - recursos gratuitos
Além de implementar a correção de distorção de imagem em Python, você pode explorar ainda mais a API Python OCR usando os seguintes recursos:
Conclusão
Neste artigo, aprendemos como alinhar corretamente as imagens inclinadas usando a correção de inclinação da imagem em Python. Vimos como enquadrar imagens usando o método automático e definindo o ângulo de rotação manualmente. Ao aproveitar o Aspose.OCR para Python via .NET, você pode incorporar facilmente esse recurso em seus aplicativos Python. Em caso de qualquer ambigüidade, sinta-se à vontade para nos contatar em nosso fórum de suporte gratuito.