Python 中的影像傾斜校正 | Python 中的影像傾斜校正

如果您正在尋找一種正確對齊圖像中傾斜內容的方法,那麼您來對地方了。在本文中,我們將學習如何使用Python在影像處理中進行傾斜校正。我們將引導您了解 Python 中傾斜校正的基礎知識。我們將介紹如何偵測影像中的傾斜、如何計算傾斜角度以及如何使用 Python 以程式方式校正影像。

本文涵蓋以下主題:

  1. 影像傾斜校正
  2. Python 傾斜校正 API
  3. Python 中的傾斜檢測
  4. 自動歪斜校正
  5. 手動校正影像
  6. 偏斜校正 - 免費資源

影像傾斜校正

影像處理中的傾斜校正,也稱為傾斜校正,是對齊傾斜或傾斜的影像以使其看起來更具視覺吸引力且更易於使用的過程。由於多種原因可能會出現傾斜,例如掃描不當、透視變形或相機未對準,如下圖所示:

傾斜影像

來源圖像。

用於校正影像的 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 中偵測傾斜角度

我們可以透過以下步驟輕鬆偵測圖像中文字的傾斜角度:

  1. 建立 AsposeOCR 類別的實例。
  2. 初始化 OcrInput 類別的物件。
  3. 將影像新增至 OcrInput 辨識批次。
  4. 呼叫calculateskew()方法。它將影像路徑作為參數。
  5. 顯示計算出的傾斜角度。

以下範例程式碼展示如何在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 中的自動傾斜校正

我們可以按照以下步驟啟用自動傾斜校正並儲存校正後的影像:

  1. 建立 AsposeOCR 類別的實例。
  2. 初始化 PreprocessingFilter 類別的物件。
  3. 加入 autoskew() 過濾器。
  4. 之後,將影像新增至識別批次並使用 OcrInput 類別套用處理篩選器。
  5. 最後呼叫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 中的濾波器自動校正傾斜

使用 Python 中的濾波器進行自動傾斜校正。

在 Python 中手動校正影像

對於手動傾斜校正,我們可以按照以下步驟手動定義傾斜角度:

  1. 建立 AsposeOCR 類別的實例。
  2. 初始化 PreprocessingFilter 類別的物件。
  3. 新增rotate()過濾器。
  4. 之後,將影像新增至識別批次並使用 OcrInput 類別套用處理篩選器。
  5. 最後呼叫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 應用程式中。如有任何疑問,請隨時透過我們的免費支援論壇與我們聯繫。

也可以看看