精品秘无码一区二区三区老师-精品秘一区二三区免费雷安-精品蜜桃秘一区二区三区-精品蜜桃秘一区二区三区粉嫩-精品蜜桃一区二区三区-精品蜜臀国产aⅴ一区二区三区

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

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

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

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

2. 如何安裝 Tesseract

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

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

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

    dotnet add package SkiaSharp
3. 訓練數據從哪里下載

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

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,需要確保基礎依賴已經安裝。參考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.一個例子

 

識別結果

轉自https://www.cnblogs.com/chenyishi/p/18658890


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

主站蜘蛛池模板: 亚洲无码强大视频 | 国产精品AV色欲蜜臀在线 | 国产精品无码一区二区在线 | 无码中文字幕视频一区二区三区 | 97se亚洲精品一区 | 亚洲综合偷自成人网第页色 | 亚洲精品国产第一区二区多人 | 亚洲高潮喷水无码av电影 | 色与欲影视天天影视综 | 国产xxxxxx久色视频在 | 粗大的内捧猛烈进出在线视频 | 最新国产一区二区三区在线 | 麻豆91av| 最新国产无码在线观看 | 国产丰满人妻一区二区三区 | 少妇无码一区二区三区免费 | 91久久精一区二区三区大全 | 加勒比东京热无码中文字幕 | 成人影院m免费 | 亚洲av日韩av永久无码绿巨人 | 美女大战精子推荐美女肛门电视播放免费图片介绍优质 | 欧美成aⅴ人高清免费观看 欧美潮喷videosvideo | 日韩美一区二区 | 免费a级毛片无码av 免费A级毛片无码鲁大师 | 无码人妻一区二区精品视频 | 亚洲国产另类久久久精品 | 亚洲成av人片香蕉片 | 7799精品视频天天免费观看入口 | 欧洲亚洲另类一区在线观看 | 精品无码人妻一区二区三区国产 | 国产片免费福利片永久不卡 | 亚洲av无码一区东京热 | 日本亚州视频在线八a | 无码一区二区三区va在线播放 | 国产B站大片免费进入观看 国产b站大片永久免费app | 变态另类国产 | 一本道无码道在线 | 午夜性刺激片免费观看 | 久久精品无码免费不卡 | 欧美又硬又粗进去好爽A片 欧美又长又大又深又爽A片特黄 | 一本到无码精品手机字幕在线播放 |