狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

一個(gè)免費(fèi)開(kāi)源可完全離線的OCR工具Umi-OCR(本文附帶封裝教程DEMO源碼)

admin
2024年7月24日 15:39 本文熱度 1118

在《Easy-OCR》一文中,我們?cè)敿?xì)描述了OCR的應(yīng)用場(chǎng)景和Easy-OCR的使用,后續(xù)有同學(xué)反饋,Easy-OCR的安裝相對(duì)較為麻煩,還需要下載模型包,在使用上也以Python命令為主,對(duì)新手同事不是太友好。也有同學(xué)反饋為什么不用飛漿Paddle,本質(zhì)上paddle場(chǎng)景主要面向視覺(jué)分析,深度學(xué)習(xí)場(chǎng)景,而且在安裝使用上的難度也不是太低。

所以,今天給大家介紹的是一個(gè)不同于Easy-OCR和飛漿Paddle,而是一個(gè)無(wú)論在部署安裝,還是使用上更加簡(jiǎn)單的OCR軟件-Umi-OCR。為了說(shuō)明這幾個(gè)OCR區(qū)別,整理了一份對(duì)比表如下:

對(duì)比項(xiàng)Umi-OCREasy-OCRPaddleOCR
設(shè)備要求主要Windows操作系統(tǒng),Linux(測(cè)試中)支持多種操作系統(tǒng)支持多種操作系統(tǒng)
定位OCR設(shè)別軟件,底層依賴OCR識(shí)別引擎OCR識(shí)別引擎OCR識(shí)別引擎
易用性圖形化界面,適合非專業(yè)用戶,也提供命令行和API接口適合具有一定編程基礎(chǔ)的開(kāi)發(fā)者使用適合具有一定編程基礎(chǔ)的開(kāi)發(fā)者使用
性能性能優(yōu)化好,底層可采用Paddle引擎,電腦性能足夠情況下速度快效率一般,但是可利用GPU加速性能優(yōu)化好,支持多種硬件加速
學(xué)習(xí)難度較低,圖形化界面易于上手中等,需要編程基礎(chǔ),但API接口簡(jiǎn)潔中等,需要編程基礎(chǔ),對(duì)比其他Python庫(kù)可能存在學(xué)習(xí)曲線
安裝部署無(wú)需安裝,下載解壓即可使用通過(guò)pip安裝,可能需要下載預(yù)訓(xùn)練模型通過(guò)pip安裝PaddlePaddle,再安裝PaddleOCR或使用PaddleHub集成
多語(yǔ)言支持支持支持
應(yīng)用場(chǎng)景截圖OCR、批量OCR、二維碼識(shí)別等 文檔數(shù)字化、名片信息提取、車牌識(shí)別等圖像識(shí)別、自然語(yǔ)言處理、推薦系統(tǒng)等 
批量處理支持批量導(dǎo)入圖片進(jìn)行文字識(shí)別,支持多種輸出格式支持批量處理,具體實(shí)現(xiàn)需結(jié)合API使用支持批量預(yù)測(cè),可通過(guò)編程實(shí)現(xiàn)復(fù)雜批處理
離線使用是,完全離線使用是,但需預(yù)先下載模型文件是,支持離線


01 
— 
 Umi-OCR 介紹 

一個(gè)開(kāi)源、免費(fèi)的離線OCR軟件。簡(jiǎn)單、易用,開(kāi)放API。支持截屏/批量導(dǎo)入圖片,PDF文檔識(shí)別,排除水印/頁(yè)眉頁(yè)腳,掃描/生成二維碼。內(nèi)置多國(guó)語(yǔ)言庫(kù)。

🏠  項(xiàng)目信息

#Github地址https://github.com/hiroi-sora/Umi-OCR

🚀功能特性

  • 免費(fèi):本項(xiàng)目所有代碼開(kāi)源,完全免費(fèi)。

  • 方便:解壓即用,離線運(yùn)行,無(wú)需網(wǎng)絡(luò)。

  • 高效:自帶高效率的離線OCR引擎,內(nèi)置多種語(yǔ)言識(shí)別庫(kù)。

  • 靈活:支持命令行、HTTP接口等外部調(diào)用方式。

  • 功能:截圖OCR / 批量OCR / PDF識(shí)別 / 二維碼 / 公式識(shí)別



02
 Umi-OCR 使用 

Umi-OCR提供了多種下載方式,可以安裝網(wǎng)絡(luò)環(huán)境自行選擇。下載后,直接解壓使用即可:

# 藍(lán)奏云 (國(guó)內(nèi)推薦,免注冊(cè)/無(wú)限速)https://hiroi-sora.lanzoul.com/s/umi-ocr# Github releasehttps://github.com/hiroi-sora/Umi-OCR/releases/latest# Source Forgehttps://sourceforge.net/projects/umi-ocr
  • 截圖(圖片)OCR

支持屏幕截圖,粘貼圖片,快捷轉(zhuǎn)文字,支持識(shí)別欄編輯文字,允許劃選多個(gè)記錄復(fù)制。

支持設(shè)別后文本后處理,整理OCR結(jié)果的排版和順序,使文本更適合閱讀和使用。

  • 批量OCR

對(duì)批量導(dǎo)入本地圖片進(jìn)行識(shí)別,支持與截圖OCR一樣的文本后處理功能,可一次性導(dǎo)入幾百?gòu)垐D片進(jìn)行任務(wù)。

OCR文本后處理支持忽略區(qū)域,適用于排除圖片中的不想要的文字。

  • 文檔識(shí)別

支持pdf, xps, epub, mobi, fb2, cbz 等格式文檔批量識(shí)別,支持設(shè)定忽略區(qū)域,可用于排除頁(yè)眉頁(yè)腳的文字。

  • 二維碼識(shí)別

截圖/粘貼/拖入本地圖片,讀取其中的二維碼、條形碼,支持19種協(xié)議。


03
 Umi-OCR 頁(yè)面封裝 

Umi-OCR同時(shí)提供了本地命令行和HTTP接口。本次我們主要基于的Umi-OCR接口,將其封裝為一個(gè)簡(jiǎn)單的B/S架構(gòu)WEB應(yīng)用。

# Umi-OCR http接口說(shuō)明文檔https://github.com/hiroi-sora/Umi-OCR/blob/main/docs/http/README.md

一、開(kāi)放HTTP接口地址

在全局設(shè)置頁(yè)中勾選高級(jí)設(shè)置,允許HTTP服務(wù)才能使用HTTP接口,將主機(jī)切換到任何可用地址。

二、WEB封裝設(shè)計(jì)說(shuō)明

  • 后端:采用Flask 負(fù)責(zé)處理文件上傳、調(diào)用Umi-OCR設(shè)別以及對(duì)設(shè)別后的進(jìn)行數(shù)據(jù)格式化。

  • 前端:頁(yè)面使用 Bootstrap 進(jìn)行樣式設(shè)計(jì),并通過(guò) AJAX 實(shí)現(xiàn)異步數(shù)據(jù)提交和更新,允許用戶上傳圖片并進(jìn)行 OCR 識(shí)別,用戶可以在頁(yè)面地獲取到Umi-OCR識(shí)別結(jié)果。

三、具體代碼實(shí)現(xiàn)

  • 后端 Flask 應(yīng)用 (umi-ocr.py)代碼:

from flask import Flask, request, render_template, jsonifyimport requestsimport base64import osfrom werkzeug.utils import secure_filenameimport json
app = Flask(__name__)app.config['UPLOAD_FOLDER'] = 'uploads/'  # 確保這個(gè)文件夾存在
def format_result(data):    formatted_results = []    for item in data:        result = {            'text': item.get('text', ''),            'score': item.get('score', 0),            'bounding_box': item.get('box', [])        }        formatted_results.append(result)    return formatted_results
@app.route('/', methods=['GET'])def index():    return render_template('index.html')
@app.route('/upload', methods=['POST'])def upload_file():    if request.method == 'POST':        # 獲取上傳的圖片        image_file = request.files['image']        if image_file:            filename = secure_filename(image_file.filename)            image_file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))            # 讀取圖片內(nèi)容并轉(zhuǎn)換為base64編碼            with open(os.path.join(app.config['UPLOAD_FOLDER'], filename), "rb") as image_file:                encoded_image = base64.b64encode(image_file.read()).decode('utf-8')            # 調(diào)用OCR接口            response = requests.post('http://xxx.xxx.xxx.xxx:1224/api/ocr', json={'base64': encoded_image})            # URL換成運(yùn)行umi-ocr的服務(wù)器地址,解析響應(yīng)            if response.status_code == 200:                result = response.json()                result['data'] = format_result(result['data'])  # 格式化數(shù)據(jù)                return jsonify(result)            else:                return jsonify({'error': 'Failed to connect to OCR service'})    return jsonify({'error': 'No image provided'})
if __name__ == '__main__':    app.run(debug=True, host='0.0.0.0')
  • 前端 HTML頁(yè)面(index.html)應(yīng)用:

<!DOCTYPE html><html lang="zh-CN"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>OCR識(shí)別結(jié)果展示</title>    <!-- 引入Bootstrap CSS -->    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">    <style>        #results {            margin-top: 20px;        }        .result-text {            font-size: 16px;            color: #333;        }</style></head><body>    <div class="container mt-4">        <h2>OCR識(shí)別結(jié)果</h2>        <form id="uploadForm" method="post" enctype="multipart/form-data">            <div class="form-group">                <input type="file" class="form-control" name="image" required>            </div>            <button type="submit" class="btn btn-primary">上傳圖片</button>        </form>        <div id="results" class="result-text"></div>    </div>
   <!-- 引入jQuery和Bootstrap JS -->    <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>    <script>        $(document).ready(function() {            $('#uploadForm').submit(function(e) {                e.preventDefault();                var formData = new FormData(this);
               $.ajax({                    url: '/upload',                    type: 'post',                    data: formData,                    contentType: false,                    processData: false,                    success: function(data) {                        if (data.error) {                            $('#results').text(data.error);                        } else if (data.code === 100) {                            // 將所有文本結(jié)果拼接并顯示                            var allText = data.data.map(function(item) {                                return item.text;                            }).join('\n');                            $('#results').text(allText);                        } else {                            $('#results').text('識(shí)別失敗或未檢測(cè)到文本。');                        }                    },                    error: function(xhr, status, error) {                        $('#results').text('請(qǐng)求出錯(cuò):' + error);                    }                });            });        });</script></body></html>

四、部署運(yùn)行
  • 環(huán)境要求

#需要python3環(huán)境,確保環(huán)境中安裝了Flaskpip install Flask easyocr -i https://mirrors.aliyun.com/pypi/simple/
  • 運(yùn)行程序

# 創(chuàng)建運(yùn)行目錄mkdir -p /opt/Umi-OCR/uploadsmkdir -p /opt/Umi-OCR/templates# 將umi-ocr.py文件復(fù)制至 Umi-OCR目錄mv umi-ocr.py /opt/Umi-OCR/# 將index.html文件復(fù)制至Umi-OCR/templates目錄mv index.html /opt/Umi-OCR/templates# 運(yùn)行程序python umi-ocr.py
 * Running on http://xxx.xxx.xxx.xxx:5000/ (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger PIN: 379-609-535
  • 訪問(wèn) http://hostip:5000,打開(kāi)頁(yè)面

四、使用測(cè)試

在頁(yè)面上傳圖片,查看識(shí)別效果


04
 最后 

當(dāng)然,上述只是一個(gè)簡(jiǎn)單的教程,感興趣的同學(xué)可以在DEMO之上擴(kuò)展批量識(shí)別等功能。雖然Umi-OCR在使用上主要面向非專業(yè)用戶,但是在設(shè)計(jì)上提供了詳細(xì)的API接口和命令行。方便專業(yè)的開(kāi)發(fā)人員可以按照需要的場(chǎng)景和應(yīng)用自行擴(kuò)展和集成。


該文章在 2024/7/24 15:49:36 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved