Python利用Spire.OCR for Python實現(xiàn)從圖片中提取文本和坐標
引言
在數(shù)據(jù)處理、文檔數(shù)字化及圖像內(nèi)容分析等開發(fā)場景中,光學字符識別(OCR)技術(shù)常被用于將圖像中的文字轉(zhuǎn)化為可編輯、可搜索的文本格式。Spire.OCR for Python 作為 Python 生態(tài)中的一款 OCR 類庫,可實現(xiàn)圖片文本提取及文字位置定位,適用于發(fā)票信息處理、表單數(shù)據(jù)解析、截圖內(nèi)容提取等場景,以下從技術(shù)特性、實現(xiàn)步驟及應用方向展開介紹。
一、核心技術(shù)特性
Spire.OCR for Python 支持 JPG、PNG、BMP、TIFF 四種主流圖像格式,在功能設(shè)計上具備以下技術(shù)特點:
- 文本坐標提取能力:可直接獲取文字的 X/Y 軸位置、寬度與高度,為后續(xù)圖像標注、文本區(qū)域定位提供數(shù)據(jù)支持。
- 低依賴部署:無需額外配置環(huán)境或安裝底層庫,安裝后即可直接調(diào)用,降低入門門檻。
- 多語言識別支持:涵蓋英語、中文、日語、韓語、德語、法語等常用語言,可根據(jù)識別場景切換目標語言。
二、OCR文字識別功能實現(xiàn)流程
步驟 1:環(huán)境準備與安裝
打開電腦的命令提示符(Windows)或終端(macOS/Linux),輸入以下 pip 命令,一鍵完成安裝:
pip install Spire.OCR
模型要求:點擊下載對應的 OCR 模型文件(Windows系統(tǒng)、Linux系統(tǒng)、 macOS系統(tǒng) )。解壓后保存至本地路徑,后續(xù)配置時需引用該路徑。
步驟 2:模塊導入
在 Python 腳本中導入類庫核心模塊,用于初始化 OCR 掃描實例及配置參數(shù):
from spire.ocr import * # 導入OCR核心功能模塊
步驟 3:配置 OCR 依賴項
創(chuàng)建 OCR 掃描對象并設(shè)置關(guān)鍵參數(shù),包括模型文件路徑與識別語言,參數(shù)配置錯誤會導致識別功能無法正常運行:
# 初始化OCR掃描實例 scanner = OcrScanner() # 配置引擎參數(shù) configureOptions = ConfigureOptions() # 模型文件本地路徑(需根據(jù)實際保存位置修改) configureOptions.ModelPath = "F:\\OCR Model\\win-x64" # 識別語言設(shè)置(支持"Chinese"、"English"、"Japanese"等) configureOptions.Language = "Chinese" # 應用配置參數(shù) scanner.ConfigureDependencies(configureOptions
步驟 4:文本提取與坐標獲取
指定目標圖像文件路徑,執(zhí)行掃描操作后,可提取文本內(nèi)容及每個文本塊的位置信息:
# 目標圖像路徑(替換為實際圖像文件路徑)
target_image = "模板.png"
# 執(zhí)行OCR掃描
scanner.Scan(target_image)
# 獲取掃描結(jié)果
ocr_result = scanner.Text
# 提取文本塊內(nèi)容與位置信息
blocks_info = [
f'文本內(nèi)容: "{block.Text}"\n'
f'位置坐標: (x={block.Box.X}, y={block.Box.Y})\n'
f'文本塊尺寸: 寬度{block.Box.Width} x 高度{block.Box.Height}\n'
f'---------------------------------\n'
for block in ocr_result.Blocks # 遍歷文本塊
]
# 打印提取結(jié)果(也可根據(jù)需求輸出至日志或控制臺)
print("\n".join(blocks_info))
步驟 5:結(jié)果持久化存儲
若需留存識別結(jié)果,可將文本內(nèi)容與坐標信息寫入本地文件,需指定 UTF-8 編碼避免中文亂碼:
# 寫入TXT文件(追加模式,避免覆蓋已有內(nèi)容)
with open("Ocr文字識別.txt", 'a', encoding='utf-8') as file:
file.write('\n'.join(blocks_info) + '\n\n')
讀取結(jié)果:

三、進階應用與批量處理
1. 批量圖像識別實現(xiàn)
針對多圖像文件處理場景,可通過遍歷文件夾實現(xiàn)批量 OCR 操作,提升處理效率:
import os
image_dir = r'images/'
for filename in os.listdir(image_dir):
if filename.endswith(('.png', '.jpg', '.jpeg')):
scanner.Scan(os.path.join(image_dir, filename))
# OCR識別圖片文本
2. 文本坐標的技術(shù)應用方向
文本塊坐標參數(shù)可支撐以下技術(shù)場景實現(xiàn):
- 圖像文本標注:結(jié)合 PIL、OpenCV 等圖像處理庫,根據(jù)坐標在原圖中繪制矩形框,標注出識別到的文本(比如做數(shù)據(jù)標注工具);
- 文檔結(jié)構(gòu)分析:通過標題、正文、表格等文本塊的坐標分布,判斷文檔內(nèi)容層級與布局結(jié)構(gòu);
- 關(guān)聯(lián)數(shù)據(jù)提取:在結(jié)構(gòu)化文檔(如表單、發(fā)票)處理中,根據(jù)關(guān)鍵信息(如金額、項目名稱)的坐標,關(guān)聯(lián)提取對應字段數(shù)據(jù)。
四、常見問題與處理建議
- 模型路徑錯誤:需確認ModelPath參數(shù)與實際模型文件保存路徑一致,注意不同操作系統(tǒng)的路徑分隔符差異;
- 文本亂碼問題:寫入文件時需顯式指定
encoding="utf-8",避免中文及特殊字符亂碼; - 識別準確率波動:識別效果受圖像質(zhì)量影響較大,建議使用清晰度高、文字方向正的圖像;若識別特定語言,需確保Language參數(shù)與目標語言匹配。
以上就是Python利用Spire.OCR for Python實現(xiàn)從圖片中提取文本和坐標的詳細內(nèi)容,更多關(guān)于Python OCR圖片中提取文本和坐標的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python實現(xiàn)支持目錄FTP上傳下載文件的方法
這篇文章主要介紹了python實現(xiàn)支持目錄FTP上傳下載文件的方法,適用于windows及Linux平臺FTP傳輸文件及文件夾,需要的朋友可以參考下2015-06-06
使用Python3+PyQT5+Pyserial 實現(xiàn)簡單的串口工具方法
今天小編就為大家分享一篇使用Python3+PyQT5+Pyserial 實現(xiàn)簡單的串口工具方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02
python實戰(zhàn)之PyQt5實現(xiàn)漫畫臉
本文詳細講解了python實戰(zhàn)之PyQt5實現(xiàn)漫畫臉的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-12-12

