如果您正在寻找一种正确对齐图像中倾斜内容的方法,那么您来对地方了。在本文中,我们将学习如何使用Python在图像处理中进行倾斜校正。我们将引导您了解 Python 中倾斜校正的基础知识。我们将介绍如何检测图像中的倾斜、如何计算倾斜角度以及如何使用 Python 以编程方式校正图像。
本文涵盖以下主题:
图像倾斜校正
图像处理中的倾斜校正,也称为倾斜校正,是对齐倾斜或倾斜的图像以使其看起来更具视觉吸引力且更易于使用的过程。由于多种原因可能会出现倾斜,例如扫描不当、透视变形或相机未对准,如下图所示:
用于校正图像的 Python API
Aspose.OCR 是一个广泛使用的 OCR 库,允许使用各种编程语言(包括 Python)对扫描图像、智能手机照片、屏幕截图、图像区域和扫描 PDF 执行 OCR。我们将使用 Aspose.OCR for Python via .NET API 进行倾斜校正。
请在控制台中使用以下 pip 命令下载软件包或从 PyPI 安装 API:
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")
# 将处理后的图像保存到“结果”文件夹
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")
# 将处理后的图像保存到“结果”文件夹
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")
获取免费许可证
您可以获得免费的临时许可证通过 .NET 尝试 Aspose.OCR for Python,而不受评估限制。
偏斜校正 - 免费资源
除了在 Python 中实现图像倾斜校正之外,您还可以使用以下资源进一步探索 Python OCR API:
结论
在本文中,我们学习了如何使用 Python 中的图像倾斜校正来正确对齐倾斜图像。我们已经了解了如何使用自动方法和手动设置旋转角度来校正图像。通过 .NET 利用 Aspose.OCR for Python,您可以轻松地将此类功能嵌入到您的 Python 应用程序中。如有任何疑问,请随时通过我们的免费支持论坛与我们联系。