日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

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

在 .NET 中使用 Tesseract 識別圖片文字

freeflydom
2025年1月9日 9:17 本文熱度 685
1. 什么是 Tesseract

Tesseract 是一個強大的字符識別 (OCR) 工具。它最初由 HP 發(fā)布,現(xiàn)在由 Google 和學(xué)術(shù)社區(qū)共同維護(hù)和開發(fā)。 Tesseract 支持多種語言和格式,能夠高效地識別圖片中的文字。

2. 如何安裝 Tesseract

要在 .NET 項目中使用 Tesseract,需要安裝相關(guān)的 NuGet 包和基礎(chǔ)依賴。步驟如下:

  1. 在項目中通過 NuGet 安裝 Tesseract 包:

    dotnet add package Tesseract
  2. 安裝 SkiaSharp 來處理圖片:

    dotnet add package SkiaSharp
3. 訓(xùn)練數(shù)據(jù)從哪里下載

Tesseract 需要訓(xùn)練數(shù)據(jù)文件來識別圖片中的文字。這些訓(xùn)練數(shù)據(jù)文件可以從 Tesseract OCR GitHub  https://github.com/tesseract-ocr/tessdata下載。選擇您需要的語言文件,并放置在項目相關(guān)目錄中。

4. 如何使用 Tesseract

使用 Tesseract 識別圖片中的文字,可以通過以下步驟完成:

  1. 創(chuàng)建一個 HttpClient 和 Logger ,用于下載圖片和記錄日志。

  2. 使用 SkiaSharp 來處理圖片。

  3. 使用 Tesseract 完成 OCR 識別。

例子如下:

using SkiaSharp;
using Tesseract;
namespace AutoGetOrder.WebAPI.Services.TesseractService
{
    public class TesseractOCRService
    {
        private readonly HttpClient _httpClient;
        private readonly ILogger<TesseractOCRService> _logger;
        public TesseractOCRService(HttpClient httpClient, ILogger<TesseractOCRService> logger)
        {
            _httpClient = httpClient;
            _logger = logger;
        }
        public async Task<string> Do(string imageUrl)
        {
            try
            {
                byte[] imageBytes = await DownloadImageAsync(imageUrl);
                using (var skBitmap = SKBitmap.Decode(imageBytes))
                {
                    var processedBitmap = PreprocessImage(skBitmap);
                    using (var pix = ConvertSKBitmapToPix(processedBitmap))
                    {
                        string captchaText = RecognizeText(pix);
                        return captchaText;
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.ToString());
                return string.Empty;
            }
        }
        private async Task<byte[]> DownloadImageAsync(string url)
        {
            return await _httpClient.GetByteArrayAsync(url);
        }
        private SKBitmap PreprocessImage(SKBitmap bitmap)
        {
            return bitmap;
        }
        private Pix ConvertSKBitmapToPix(SKBitmap skBitmap)
        {
            using (var image = SKImage.FromBitmap(skBitmap))
            using (var data = image.Encode(SKEncodedImageFormat.Png, 100))
            {
                return Pix.LoadFromMemory(data.ToArray());
            }
        }
        private string RecognizeText(Pix pix)
        {
            using (var engine = new TesseractEngine(@"./Services/TesseractService", "eng", EngineMode.Default))
            {
                using (var page = engine.Process(pix))
                {
                    return page.GetText();
                }
            }
        }
    }
}
5. Docker 環(huán)境中安裝依賴

如果您在 Docker 環(huán)境中使用 Tesseract,需要確保基礎(chǔ)依賴已經(jīng)安裝。參考PR https://github.com/charlesw/tesseract/issues/675 可以參考下面的 Dockerfile:

RUN apt-get update && apt-get install -y \
    libfontconfig1 \
    libfreetype6 \
    libpng16-16 \
    libjpeg62-turbo \
    libx11-6 \
    libxext6 \
    libxrender1 \
    tesseract-ocr \
    libtesseract-dev \
    libleptonica-dev
RUN ln -s /usr/lib/x86_64-linux-gnu/libdl.so.2 /usr/lib/x86_64-linux-gnu/libdl.so
WORKDIR /app/x64
RUN ln -s /usr/lib/x86_64-linux-gnu/liblept.so.5 /app/x64/libleptonica-1.82.0.so
RUN ln -s /usr/lib/x86_64-linux-gnu/libtesseract.so.5 /app/x64/libtesseract50.so

這些依賴確保 Tesseract 和其依賴庫在 Docker 中正常運行。

6.一個例子

 

識別結(jié)果

轉(zhuǎn)自https://www.cnblogs.com/chenyishi/p/18658890


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

主站蜘蛛池模板: 香蕉国产在线 | 国产精品99精品一区二区 | 亚洲一级特黄大片在线播放 | 欧美高清另类自拍视频在线看 | 精品亚洲永久免费精品9 | 日韩欧美国产精品 | 欧美ab片 | 国产精品外围在线观看 | 国产乱码精品一区三上 | 欧美三级不 | 亚洲+变态+欧美+另类+精品 | 大地资源第二页中文高清版 | ⅴ在线观看| 国产欧美一区二区精品每日更新 | 国产91丝袜在线播放动漫蜜月 | 欧美一级高清视频在线播放 | 999电影网| 亚洲日韩国产欧 | 欧美高清一区二 | 老牛影视网 | 欧洲精品亚洲一区 | 免费aⅴ网站 | 成人91污污污在线观看 | 第一页浮力影院草草 | 综合精品一区 | 国产伦在线视频大全 | 国内外精品一区二区三区在线观看 | 欧美日韩在线一区二区观看 | 神马影院 | 亚洲日韩欧美一区二区在线 | 乌鸦传媒 | 国内精品伊人 | 亚洲自拍高清中文 | 亚洲国产中文字幕无线乱码 | 国产熟女激情视频自拍 | 国内成人精品亚洲 | 非洲一级婬片免费放天天 | 中文字幕亚洲不卡在线亚瑟 | 日韩高清在线日韩视一区 | 亚洲国产综合精品一区 | 日本免费国产 |