用python進行OCR識別

原文鏈接:https://www.bilibili.com/opus/1036675560501149699

我擔心原作者刪除,所以重新拷貝了一遍

1.下載tesseract

鏈接:https://github.com/UB-Mannheim/tesseract/wiki

這里示例安裝最新版本

點擊下載tesseract安裝包

2.安裝tesseract

在安裝時,注意安裝路徑,自定義路徑或者默認路徑都要記錄下路徑,后面有用

安裝路徑

安裝會遇到一個常見的問題:

Download error Status of equ: Send Request Error. Click OK to continue

Download error Status of equ: Send Request Error. Click OK to continue

這是因為下載安裝語言包的時候與官網鏈接失敗了,這里暫時不用管,直接點擊確定或者OK即可。

3.語言包安裝

上一章提到會遇到常見的錯誤就是語言包安裝失敗,這里提供一個額外的語言包下載地址,下載好后放到指定文件夾即可。

語言包下載地址:https://github.com/tesseract-ocr/tessdata/releases/tag/4.00

這里雖然是tesseract 4.0版本的語言包,但是根據GitHub的官方說明,一樣完全適用于tesseract 5.0版本,不必擔心。

tesseract 4.0版本的語言包適用于tesseract 5.0版本

下載好語言包后,把語言包內所有文件放到前面記錄的安裝tesseract路徑下tessdata文件夾

前面記錄的安裝tesseract路徑

4.環境變量配置

我的電腦 →屬性→高級系統設置→環境變量

點擊我的電腦–>屬性–>高級設置—>環境變量---->path下面的—>新建—>

變量名:TESSDATA_PREFIX

前面記錄的安裝tesseract路徑

變量值:安裝路徑加上\tessdata

5.在pycharm中安裝pytesseract,并輸入代碼

import pytesseract
from PIL import Image
import openpyxl
import os

設置tesseract可執行文件的路徑 (需要根據實際情況調整路徑)

pytesseract.pytesseract.tesseract_cmd = r’你的安裝路徑’

圖片文件路徑

image_dir = r"你的圖片路徑"

函數:從圖片中提取文本(表格數據)

def extract_table_from_image(image_path):
# 打開圖片
img = Image.open(image_path)
# 使用pytesseract進行OCR識別,獲取文本
text = pytesseract.image_to_string(img, config=‘–psm 6’) # 6表示假設圖片中有結構化的表格
return text

函數:將表格數據保存到xlsx文件

def save_to_xlsx(text_data, output_path):
# 創建新的Excel工作簿
wb = openpyxl.Workbook()
ws = wb.active

# 將文本數據按行寫入Excel,假設每行數據以制表符或空格分隔
for row in text_data.splitlines():ws.append(row.split())# 保存為xlsx文件
wb.save(output_path)

處理多個圖片文件

image_file = os.path.join(image_dir, f"你的圖片文件名")

# 提取圖片中的表格內容

table_text = extract_table_from_image(image_file)

# 將提取的表格數據保存為xlsx文件

output_file = os.path.join(image_dir, f"table.xlsx")
save_to_xlsx(table_text, output_file)

print(f"表格數據已保存到 {output_file}")
即可提取圖片中表格保存到xlsx格式的excel文件中

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/77185.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/77185.shtml
英文地址,請注明出處:http://en.pswp.cn/web/77185.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

區間和數量統計 之 前綴和+哈希表

文章目錄 1512.好數對的數目2845.統計趣味子數組的數目1371.每個元音包含偶數次的最長子字符串 區間和的數量統計是一類十分典型的問題:記錄左邊,枚舉右邊策略前置題目:統計nums[j]nums[i]的對數進階版本:統計子數組和%modulo k的…

PCB 制造流程分步指南

最近的一次PCB打板經歷,板廠工程人員告知絲印偏到焊盤上了,內部讓我評估是否可以繼續貼片。 于是發一期文章,介紹一下PCB制造流程。 PCB制造工藝 PCB設計獲得批準且制造商收到最終制造文件后,PCB制造或生產就開始了。此時&…

python實現簡單的UI交互

文章目錄 1. 基礎打印 覆蓋同一行2. 多行動畫效果3. 彩色文本(Windows/macOS/Linux)4. 輸入交互5. 異步輸入與非阻塞顯示6. 高級控制臺 UI 庫 可以通過控制臺打印實現簡單的「偽UI交互」,尤其適合展示進度、動態文本或輕量級狀態反饋。以下是…

AI與思維模型【77】——PDCA思維模型

一、定義 PDCA思維模型是一種用于持續改進和優化工作流程、項目實施以及問題解決的科學管理方法。它由四個英文字母組成,分別代表計劃(Plan)、執行(Do)、檢查(Check)和處理(Act&…

10天學會嵌入式技術之51單片機-day-3

第九章 獨立按鍵 按鍵的作用相當于一個開關,按下時接通(或斷開),松開后斷開(或接通)。實物圖、原理圖、封裝 9.2 需求描述 通過 SW1、SW2、SW3、SW4 四個獨立按鍵分別控制 LED1、LED2、LED3、LED4 的亮…

vite+vue2+elementui構建之 package.json

webpack版本太低,構建依賴太多,頭大。 各種查閱資料,弄了一份直通構建vite構建elementUi核心文件, 構建基于開源若依vue2vue3版本改造,感謝開源,感謝若依。 vitevue2elementui構建之 vite.config.js-CSD…

提升變電站運維效率:安科瑞無線測溫系統創新應用

一、引言 變電站作為電力系統的關鍵樞紐,承擔著變換電壓、分配電能以及控制電力流向等重要任務。在變電站的運行過程中,電氣設備的接點溫度監測至關重要。過熱問題可能由多種因素引發,如電阻過大、接頭質量欠佳、銜接不緊密、物理老化等&…

DMA的三種傳輸功能

①內存到內存 #include "dma.h" #include "stdio.h"#define BUF_SIZE 16uint32_t src_buf[BUF_SIZE] {0x00000000,0x11111111,0x22222222,0x33333333,0x44444444,0x55555555,0x66666666,0x77777777,0x88888888,0x99999999,0xAAAAAAAA,0xBBBBBBBB,0xCCCCCCC…

【MySQL】MySQL 表的增刪改查(CRUD)—— 下篇(內含聚合查詢、group by和having子句、聯合查詢、插入查詢結果)

目錄 1. 插入查詢結果 2 聚合查詢 (行與行之間運算) count 計算查詢結果的行數 sum 求和 avg 求平均值 max 最大值 min 最小值 【小結】 3. group by 子句 分組 where 條件 having 條件 4. 聯合查詢(多表查詢) 內連接…

“思考更長時間”而非“模型更大”是提升模型在復雜軟件工程任務中表現的有效途徑 | 學術研究系列

作者:明巍/臨城/水德 還在為部署動輒數百 GB 顯存的龐大模型而煩惱嗎?還在擔心私有代碼庫的安全和成本問題嗎?通義靈碼團隊最新研究《Thinking Longer, Not Larger: Enhancing Software Engineering Agents via Scaling Test-Time Compute》…

電腦屏幕錄制軟件Captura源碼編譯(Win10,VS2022)

屏幕錄像的意義: 教育教學方面 制作教學資源:教師可以通過錄制屏幕來制作教學視頻,演示軟件操作、講解復雜的知識點等。學生可以隨時觀看這些視頻,便于復習和鞏固知識,尤其對于一些抽象的概念或難以在課堂上一次性掌握…

記一次調用大華抓拍SDK并發優化

目錄 一、問題分析 二、解決思路 三、貼代碼 四、總結 一、問題分析 按慣例上問題: 設備告警采用高電平持續模式:一次開,不主動關就一直處于告警狀態。 并發時多個請求下發 setDVRAlarmOutConfig,導致狀態混亂。 “開 -&g…

Python圖像變清晰與銳化,調整對比度,高斯濾波除躁,卷積銳化,中值濾波鈍化,神經網絡變清晰

本次使用圖片來源于百度 import cv2 import time import numpy as np import pywtfrom PIL import Image, ImageEnhance#-i https://pypi.mirrors.ustc.edu.cn/simpledef super_resolution(input_path, output_path, model_path, scale4):# 初始化超分辨率模型sr cv2.dnn_su…

12個HPC教程匯總!從入門到實戰,覆蓋分子模擬/材料計算/生物信息分析等多個領域

在科學研究、工程仿真、人工智能和大數據分析等領域,高性能計算 (High Performance Computing, HPC) 正扮演著越來越重要的角色。它通過并行處理、大規模計算資源的整合,極大提升了計算效率,使原本耗時數日的任務能夠在數小時內完成。 隨著計…

使用Autocannon.js進行HTTP壓測

目錄 一、為什么選擇Autocannon? 二、五分鐘快速上手 1. 環境準備 2. 發起首個壓測 3. 解讀測試報告 三、高階場景實戰 場景1:POST請求壓測 場景2:階梯式壓力測試 場景3:編程式集成測試 四、結果深度分析指南 1. 延遲分…

pnpm install報錯:此系統上禁止運行腳本

依賴安裝 報錯信息: pnpm : 無法加載文件 C:\Users\XXX\AppData\Roaming\npm\pnpm.ps1,因為在此系統上禁止運行腳本。有關詳細信息,請參閱 https:/go.microsoft.com/fwlink/?LinkID135170 中的 about_Execution_Policies。 所在位置 行:1 …

第9章 多模態大語言模型

??????第1章 對大型語言模型的介紹第2章 分詞和嵌入第3章 解析大型語言模型的內部機制第4章 文本分類第5章 文本聚類與主題建模第6章 提示工程第7章 高級文本生成技術與工具第8章 語義搜索與檢索增強生成第10章 構建文本嵌入模型第11章 面向分類任務的表示模型微調第12章…

Python 繪圖代碼解析:用 Turtle 和 Colorsys 打造絢麗圖案

注:本文為作者原創文章,未經許可禁止轉載。 Python 繪圖代碼解析:用 Turtle 和 Colorsys 打造絢麗圖案 在 Python 的世界里,有許多有趣的庫可以用來創造精美的圖形。今天,我們就來詳細剖析一段使用turtle庫和colorsys庫的代碼,看看它是如何繪制出獨特圖案的。 一、庫的導…

RTMP 入門指南

1. RTMP 基礎概念?? ??核心角色??: ??推流端(Publisher)??:將音視頻數據推送到服務器的設備(如OBS、手機APP)。??服務器(RTMP Server)??:接收推流并分發給…

Java Stream流 常用方法

Map 修改 用于修改集合里的值 public void findData(){ArrayList<String> list new ArrayList<>();list.add("張三");list.add("李四");List<String> collect list.stream().map(s -> s "a").collect(Collectors.toLi…