開源Python API整合OCR功能
開源 Python 程式庫允許軟體開發人員輕鬆地將光學字元辨識 (OCR) 功能整合到他們的應用程式中。
PaddleOCR 是一個強大的開源 Python 庫,使軟體開發人員能夠輕鬆地將光學字元辨識 (OCR) 功能整合到他們的 Python 應用程式中。它建立在開源深度學習平台PaddlePaddle之上,並使用最先進的深度學習模型來實現高精度和高性能。 PaddleOCR 透過提供高級 API 來簡化 OCR 流程,該 API 抽象化了許多低階細節,使開發人員可以輕鬆地將 OCR 功能添加到他們的應用程式中。
PaddleOCR 為多種語言和腳本提供了完整的支援。目前支援 80 多種不同語言,包括阿拉伯語、中文、英語、法語、德語、日語、韓語、俄語、西班牙語等。這使其成為需要處理多語言內容的開發人員的寶貴工具。除了強大的 OCR 功能之外,該程式庫還包含許多用於處理圖像和文字的有用實用程式。例如,它包括用於影像預處理的工具,例如糾偏和二值化,以及用於提高 OCR 輸出準確性的後處理工具。
PaddleOCR 提供了幾種不同的 OCR 模型,每種模型都針對不同的用例進行了最佳化。例如,文字偵測模型用於從圖像中定位和提取文字區域,而文字辨識模型用於識別這些區域內的實際文字。還有一個模型整合功能,允許開發人員組合多個模型以實現更高的精度。總體而言,PaddleOCR 是一個強大且易於使用的程式庫,用於為 Python 應用程式添加 OCR 功能。它支援多種語言和腳本,以及可自訂的模型和後處理工具,使其成為使用 OCR 的開發人員的寶貴工具。
PaddleOCR 入門
建議使用 pip 安裝 PaddleOCR。請使用以下指令順利安裝
透過pip安裝PaddleOCR
透過pip安裝PaddleOCR
pip install paddleocr
您也可以手動安裝;直接從 GitHub 儲存庫下載最新版本檔案。
透過 PaddleOCR API 進行影像文字辨識
圖像文字辨識是從圖像中提取文字的過程。它是一種適用於文件掃描、數位化和 OCR(光學字元辨識)等各種應用的有用技術。開源 OCR(光學字元辨識)API 提供了一組最先進的 OCR 模型,可以識別各種圖像中的文本,包括掃描文件、螢幕截圖和照片。該程式庫支援與圖像文字辨識相關的幾個重要功能,例如載入圖像、初始化 OCR 模型、識別圖像中的文字區域、從圖像中識別文字、從結果中提取文字等等。以下範例示範如何從 Python 應用程式內的圖像中辨識文字。
在Python專案中執行影像文字辨識
import paddleocr
ocr = paddleocr.OCR()
# load an image using the PIL
from PIL import Image
image = Image.open('example.jpg')
result = ocr.ocr(image)
# access the recognized text
for line in result:
print(line[1][0])
print(line[1][1])
使用 Python API 進行 OCR 文件辨識
文檔辨識一直是 OCR 的重要研究領域之一。文件在我們的生活中幾乎每天都會用到。當軟體開發人員將 OCR 應用於文件時,它可以檢索重要資訊、檢索表單欄位、分析佈局、數位儲存以及閱讀舊手稿。開源 PaddleOCR 程式庫允許軟體開發人員載入各種類型的文件、執行 OCR 操作並使用 Python 程式碼識別和提取文字。文字辨識非常準確,函式庫可以輕鬆準確地偵測特殊字元和空格。
使用Python API執行OCR文檔辨識
img_path = './input_images/11-document-1.jpg'
result = ocr.ocr(img_path)
//Displaying the output.
Python 應用程式內的表格辨識支援
開源 PaddleOCR 程式庫使軟體開發人員能夠識別其 Python 應用程式中的表格資料。表格辨識主要包含三個模型,單行文字偵測-DB、單行文字辨識-CRNN和表格結構及單元格座標預測-SLANet。以下範例顯示如何辨識包含表格的圖像。以下範例示範如何使用 draw_ocr 方法,該方法接收圖像、邊界框、文字、分數和字體檔案的路徑。它會傳回帶有邊界框和偵測到的文字的圖像。您可以使用 show 方法顯示圖像。
透過 Python API 載入圖像並檢測其中的文字
from paddleocr import PaddleOCR, draw_ocr
# Load the image that contains the table.
# Load the image
img_path = 'table_image.png'
with open(img_path, 'rb') as f:
img = f.read()
# Create an instance of the PaddleOCR object
ocr = PaddleOCR()
# Draw the bounding boxes around the detected table cells
boxes = [line[0] for line in result]
scores = [line[1] for line in result]
texts = [line[2][0] for line in result]
im_show = draw_ocr(img, boxes, texts, scores, font_path='arial.ttf')
im_show.show()