
如果您正在寻找一种方法来正确对齐图像中倾斜的内容,那么您找对地方了。在本文中,我们将学习如何使用 Python 在图像处理中执行倾斜校正。我们将向您介绍 Python 中倾斜校正的基础知识。我们将介绍如何检测图像中的偏斜、如何计算偏斜角度以及如何使用 Python 以编程方式对图像进行纠偏。
本文涵盖以下主题:
图像纠偏
Python 斜度校正 API
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 识别批次中。
调用 calculate_skew() 方法。该方法将图像路径作为参数。
显示计算出的倾斜角度。
以下示例代码展示了如何在 Python 中检测图像的倾斜角度。
import aspose.ocr as ocr
# Instantiate Aspose.OCR API
api = ocr.AsposeOcr()
# Add image to the recognition batch
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE)
img.add("D:\\Files\\source.png")
# Detect skew angle
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 类对象。
添加 auto_skew() 过滤器。
然后,将图像添加到识别批次中,并使用 OcrInput 类应用处理过滤器。
最后,调用 ImageProcessing.save() 方法将处理后的图像保存到指定路径的文件夹中。
以下示例代码展示了如何在 Python 中使用预处理过滤器应用自动纠偏。
import aspose.ocr as ocr
# Instantiate Aspose.OCR API
api = ocr.AsposeOcr()
# Initialize image processing
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(filters.auto_skew())
# Add image to the recognition batch and apply processing filter
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")
# Save processed image to the "result" folder
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")
用 Python 手动纠正图像偏斜
对于手动偏斜校正,我们可以按照以下步骤手动定义偏斜角度:
创建 AsposeOCR 类的实例。
初始化一个 PreprocessingFilter(预处理过滤器)类对象。
添加 rotate() 滤镜。
然后,将图像添加到识别批次中,并使用 OcrInput 类应用处理过滤器。
最后,调用 ImageProcessing.save() 方法将处理后的图像保存到指定路径的文件夹中。
以下示例代码展示了如何在 Python 中手动对图像进行纠偏。
import aspose.ocr as ocr
# Instantiate Aspose.OCR API
api = ocr.AsposeOcr()
# Initialize image processing
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(ocr.models.preprocessingfilters.PreprocessingFilter.rotate(5.8))
# Add image to the recognition batch and apply processing filter
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")
# Save processed image to the "result" folder
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")获取免费许可证
您可以获得免费的临时许可证,试用 Aspose.OCR for Python via .NET,不受评估限制。
结论
在本文中,我们学习了如何使用 Python 中的图像纠偏功能正确对齐倾斜图像。我们还了解了如何使用自动方法和手动设置旋转角度对图像进行纠偏。通过 .NET 利用 Aspose.OCR for Python,您可以轻松地在 Python 应用程序中嵌入这样的功能。如果有任何不清楚的地方,请随时与我们联系。
渝公网安备50010702505508