OCR 識別案例

OCR 識別案例

注意點:輸入圖像尺寸比例盡量和參與模型訓練的數據集比例相似,識別效果會更好。

1、pytesseract

Pytesseract是一個Python的光學字符識別(OCR)工具,它作為Tesseract OCR引擎的封裝,允許你在Python程序中直接使用Tesseract的功能。通過Pytesseract,你可以從圖像文件中提取文本數據。這使得它成為處理需要從圖片、截圖或其他圖像格式中讀取文字信息任務的理想選擇。

通常情況下,Pytesseract會與Pillow庫一起使用,后者用于圖像處理。這樣組合使用可以先對圖像進行必要的預處理(如轉換為灰度圖、二值化等),然后利用Pytesseract識別圖像中的文字內容。

要使用Pytesseract,你需要首先安裝Tesseract OCR引擎以及pytesseract包。可以通過pip命令pip install pytesseract來安裝Pytesseract。同時,別忘了從Tesseract的GitHub頁面下載并安裝Tesseract OCR引擎,并確保其正確配置在系統的環境變量中,以便pytesseract能夠調用它。

sudo apt-get update
sudo apt install tesseract-ocr
from PIL import Image
import pytesseract# 如果沒有將Tesseract加入系統路徑,需要指定完整路徑
# linux 安裝 sudo apt install 
# pytesseract.pytesseract.tesseract_cmd = r'path_to_tesseract.exe'image = Image.open('image_containing_digits.png')
text = pytesseract.image_to_string(image, config='--psm 6 digits')
dict = pytesseract.image_to_data(large_matrix, output_type=Output.DICT)print(text)
print(dict)

2、EasyOCR

EasyOCR 是一個易于使用且功能強大的光學字符識別(OCR)Python 庫,能夠從圖像中提取文本。它由微軟亞洲研究院(MSRA)開源,支持超過80種語言的識別,包括但不限于中文、英文、日文、韓文等。EasyOCR 的主要優點是它的易用性和高性能,即使在處理復雜背景或低質量圖像時也能提供良好的識別準確率。

使用 EasyOCR 進行文字識別非常簡單,只需要幾行代碼即可完成。首先,你需要通過 pip 安裝 EasyOCR 庫:

pip install easyocr
import easyocr
# ocr model path: ~/.EasyOCR/model
easyocr_tool = easyocr.Reader(['en']) # 'en'代表英文,'ch_sim'代表簡體中文
# # 手動指定模型
# reader = easyocr.Reader(['en'], model_storage_directory='/path/to/your/custom/model')
img_path = 'ocr_recognition.jpg'
img = cv2.imread(img_path)
result = easyocr_tool.readtext(img)import easyocr
reader = easyocr.Reader(['en']) # 初始化時指定語言
result = reader.readtext('image_containing_digits.png')
for (bbox, text, prob) in result:print(f"文本: {text}, 置信度: {prob}")

在這里插入圖片描述

3、ModelScope

modelscope項目地址

pip install modelscope
pip install modelscope[cv] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
import cv2ocr_recognition = pipeline(Tasks.ocr_recognition, model='iic/cv_convnextTiny_ocr-recognition-general_damo')### 使用url
img_url = 'http://duguang-labelling.oss-cn-shanghai.aliyuncs.com/mass_img_tmp_20220922/ocr_recognition.jpg'
result = ocr_recognition(img_url)
print(result)### 使用圖像文件
### 請準備好名為'ocr_recognition.jpg'的圖像文件
# img_path = 'ocr_recognition.jpg'
# img = cv2.imread(img_path)
# result = ocr_recognition(img)
# print(result)
# # result 格式是字典形式,{'text':['001']}

在這里插入圖片描述

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

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

相關文章

IP大洗牌ipv6強勢來襲!!!【ipv6配置及應用】

前言 隨著時代的發展,IPv4(互聯網協議第四版)已逐漸無法滿足全球互聯網爆炸式增長的需求。自20世紀80年代誕生以來,IPv4憑借其簡潔的架構和約43億的地址容量,支撐了互聯網的早期擴張。然而,在移動互聯網、物…

OpenAI 推出圖像生成新突破:GPT-4o 實現圖像編輯對話化

關鍵要點 OpenAI 推出了 4o 圖像生成功能,集成于 GPT-4o,提供精準且逼真的圖像生成。 它似乎適用于多種用戶,包括免費用戶,API 訪問預計幾周內推出。 安全措施包括 C2PA 元數據和內容屏蔽,限制生成不適當圖像。 研究…

如何快速對比兩個不同的excel文件中的單元格的數據是否完全相同 并把不同的單元格的背景顏色更改為紅色?

要快速對比兩個不同的Excel文件中的單元格數據是否完全相同,并將不同的單元格背景顏色更改為紅色,可以使用Excel的以下幾種方法: 方法一:使用條件格式 打開兩個Excel文件。將一個文件的內容復制到另一個文件的新工作表中&#x…

口腔種植全流程AI導航系統及輔助診療與耗材智能化編程分析

一、系統架構與編程框架設計 口腔種植全流程人工智能導航系統的開發是一項高度復雜的多學科融合工程,其核心架構需在醫學精準性、工程實時性與臨床實用性之間實現平衡。系統設計以模塊化分層架構為基礎,結合高實時性數據流與多模態協同控制理念,覆蓋從數據采集、智能決策到…

nginx配置頁面緩存,前端每次打包生成新的js文件

前端需要處理的:使用時間戳作為文件名 // nuxt.config.js export default {build: {filenames: {app: ({ isDev }) > isDev ? [name].js : [name].${Date.now()}.js, // 生產環境用時間戳chunk: ({ isDev }) > isDev ? [name].js : [name].${Date.now()}.j…

4.Socket類、InetAddr類、Epoll類實現模塊化

目錄 1. InetAddr類 類定義 代碼說明 類實現 2.Socket類 類定義 類實現 3. Epoll類 類定義 構造與析構函數 方法實現 類實現 4. 使用模塊化設計 示例使用(main.cpp) 5. 運行程序 隨著程序復雜度的增加,單一的面向過程的代碼會變得難以理…

視頻生成的測試時Scaling時刻!清華開源Video-T1,無需重新訓練讓性能飆升

來源 | 機器之心 視頻作為包含大量時空信息和語義的媒介,對于 AI 理解、模擬現實世界至關重要。視頻生成作為生成式 AI 的一個重要方向,其性能目前主要通過增大基礎模型的參數量和預訓練數據實現提升,更大的模型是更好表現的基礎&#xff0c…

Go 語言標準庫中time模塊詳細功能介紹與示例

以下是 Go 語言 time 模塊的詳細說明及示例,涵蓋時間操作、定時器、時區處理等核心功能: 一、時間基礎操作 1. 獲取時間 // 當前本地時間 now : time.Now() fmt.Println(now) // 2023-08-04 15:30:45.123456 0800 CST// 構造指定時間 t : time.Date(20…

【強化學習】基于深度強化學習的微能源網能量管理與優化策略研究【Python】

目錄 主要內容 程序要點 2.1 微能源網系統組成 2.2 強化學習及Q學習算法 部分代碼 運行結果 下載鏈接 主要內容 該程序借助深度 Q 網絡(DQN),學習預測負荷、風 / 光可再生能源功率輸出及分時電價等環境信息,運用…

dom0-kernel: /thermal-zones/soc_max/cooling-maps/map0: could not find phandle 2

問題描述: 由于soc_max下某個節點找不到,到時dom0-kernel后面有很多有關thermal熱管理之類報錯 問題解決及其原因分析: 這是因為在Xen解析相關節點時,soc_max下的某個節點被跳過了,注釋掉相關的cpu節點處理dom0就可以找…

關于計算機視覺中的插值小記

計算機視覺中的插值(Interpolation)講解 插值(Interpolation)在計算機視覺中是一項基礎操作,常用于圖像縮放、旋轉、去噪、圖像重建等任務。其核心思想是在已知數據點之間進行推測,估計未知的像素值或特征…

計算機網絡--傳輸層(1)

第五章 傳輸層 一、傳輸層基本功能 進程到進程的邏輯通信 套接字(Socket):IP地址:端口號 IP地址:標識主機(網絡層功能)端口號:16位整數(0-65535),標識進程 熟…

指定 Python 3.12.6-slim 作為基礎鏡像

指定 Python 3.12.6-slim 作為基礎鏡像,意思就是: 👉 用官方的 Python 3.12.6(精簡版)作為容器的起點,里面已經有 Python 3.12.6 預裝好了,你不用自己裝。 🔹 為什么用 -slim&…

【藍橋杯】算法筆記1

1.暴力枚舉 給定一個正整數n,請找出所有滿足a + b = n的整數對(a, b),其中a和b都是正整數,且a ≤ b。 輸入格式:一個正整數n (1 ≤ n ≤ 10?) 輸出格式:所有符合條件的(a, b)對,每行一對,按a的升序排列。如果沒有符合條件的對,輸出"No solution"。 問題分…

專注自習室:番茄工作法實踐

專注自習室:番茄工作法實踐 我需要一個任務管理工具,但在網上找了很多都找不到合適的工具。市面上的大多數產品過于強調任務完成性,給我帶來了很強的心理壓力,這種壓力最終反而降低了我的工作效率。于是我決定自己動手&#xff0…

VUE3項目VITE打包優化

VUE3項目VITE打包優化 代碼加密依賴配置效果對比圖 自動導入依賴配置 代碼壓縮依賴配置效果對比圖 圖片壓縮依賴配置效果對比圖 字體壓縮總結與實踐運用效果 代碼加密 依賴 npm install -D vite-plugin-bundle-obfuscator配置 import vitePluginBundleObfuscator from "…

文章記單詞 | 第14篇(六級)

一,單詞釋義 affection:n. 喜愛,鐘愛;愛慕之情;感情stream:n. 小河,溪流;一連串,源源不斷;水流,氣流;vi. 流,流動&#x…

歐幾里得距離(Euclidean Distance)公式

歐幾里得距離公式 歐幾里得距離(Euclidean Distance)是計算兩點之間直線距離的一種方法。它是最常見的距離度量方式之一,廣泛應用于數學、物理、機器學習、計算機視覺等領域。 公式定義 1. 二維空間 在二維平面上,假設有兩個點…

機器學習——LightGBM

LightGBM(light gradient boosting machine,輕量梯度提升機)是對XGBoost進行改進的模型版本,其三者之間的演變關系為:GBDT-》XGBoost-》LightGBM,依次對性能進行優化,盡管XGBoost已經很高效了,但是仍然有缺…

內網服務器無法通過公網地址訪問映射到公網的內網服務

內網服務器無法通過公網地址訪問映射到公網的內網服務 問題現象問題原因解決方法總結 前幾天遇到一個網絡問題,在這里做下記錄,希望能幫助到有相同問題的朋友。 問題現象 網絡拓撲如上所示,服務器1和服務器2在同一內網,網段均為1…