首页 > 其他分享 >华为OCR 腾讯OCR 百度OCR 三家各分秋色 第一当属华为

华为OCR 腾讯OCR 百度OCR 三家各分秋色 第一当属华为

时间:2024-07-02 18:00:09浏览次数:3  
标签:识别 秋色 华为 API new var using OCR

当提及华为OCR的应用场景时,这些是常见的使用案例:

  1. 金融行业:在银行和金融机构中,华为OCR技术广泛用于身份证件识别、银行卡识别和票据识别。这些功能可以用于客户身份验证、快速开户以及自动化的支付处理。

  2. 政府服务:政府部门利用华为OCR技术进行公民身份证识别、驾驶证和车牌识别,以提升公共服务的效率和准确性。例如,在交通管理中,可以用于车辆违章识别和自动化罚单处理。

  3. 零售和物流:在零售行业,华为OCR可以用于商品条形码和二维码识别,以提供快速的商品信息查询和结算服务。在物流领域,可以用于快递单识别和货物追踪。

  4. 医疗健康:在医院和医疗机构中,华为OCR技术可以用于医疗档案和处方的识别,以简化医疗信息管理和提升医疗服务的效率。

  5. 教育行业:学校和教育机构可以利用华为OCR技术进行学生证件识别、考试卷纸批阅和成绩单处理,以简化学校管理和教务工作。

  6. 智能交通:在城市智能交通系统中,华为OCR可以用于车辆和行人识别,实现智能交通信号控制和道路监控,提升交通安全和流畅度。

这些场景展示了华为OCR技术在各个行业中的广泛应用,帮助提升效率、准确性和用户体验。写到这里博主不由感叹,真N*。

以下是一些常见的OCR软件和服务,它们能够输出识别后的文本:

  1. Adobe Acrobat OCR:Adobe Acrobat Pro DC 提供了强大的OCR功能,能够将扫描的文档转换为可编辑的PDF文件。

  2. ABBYY FineReader:ABBYY FineReader 是一款专业的OCR软件,支持将扫描文档和图片转换为可编辑的文本文件,并提供格式保留功能。

  3. Tesseract OCR:Tesseract 是一个开源的OCR引擎,由Google开发,支持多种语言和平台。它可以将图像中的文字转换为文本输出。

  4. Microsoft OneNote OCR:Microsoft OneNote 提供了内置的OCR功能,能够将图片中的文本提取出来并进行编辑和搜索。

  5. Google Cloud Vision API:Google Cloud Vision API 提供了强大的OCR服务,支持图像文字检测和识别,输出为文本。

  6. 华为 OCR:华为提供的OCR技术,可以识别各种证件、票据和文字图像,输出识别后的文本数据。

  7. 百度 OCR:百度提供的OCR技术,支持身份证、驾驶证、营业执照等多种证件的识别,输出文本数据。

  8. 腾讯 OCR:腾讯提供的OCR技术,支持身份证、银行卡、车牌等多种图像的识别,输出为文本数据。

这些软件和服务在OCR技术领域都有一定的影响力和应用范围,能够帮助用户实现图像文本的快速识别和处理。

 

这些OCR软件和服务中,有些公司提供了API接口,允许开发者通过编程方式集成其OCR功能到自己的应用程序中。以下是几款常见的OCR软件和服务,以及它们的API接口情况:

  1. Adobe Acrobat OCR:Adobe Acrobat并没有公开的官方API接口供第三方开发者使用。其OCR功能主要集成在Adobe Acrobat Pro DC中,用于个人和企业的文档处理和编辑。

  2. ABBYY FineReader:ABBYY提供了FlexiCapture Engine和Cloud OCR SDK等多种API接口,允许开发者集成ABBYY的OCR技术到自己的应用中,实现文档识别和数据提取功能。

  3. Tesseract OCR:Tesseract是一个开源项目,没有官方的托管API接口,但可以通过将其嵌入到自定义应用程序中来使用其功能。

  4. Microsoft OneNote OCR:Microsoft提供了OneNote API,允许开发者通过REST API访问OneNote中的文档和图像,包括OCR识别后的文本。

  5. Google Cloud Vision API:Google Cloud Vision API 提供了强大的OCR功能,允许开发者通过REST API接口调用图像识别服务,实现文字检测和识别。

  6. 华为 OCR:华为提供了华为云上的OCR服务,开发者可以通过API接口调用华为OCR功能,实现身份证、票据等图像的文字识别。

  7. 百度 OCR:百度提供了百度AI开放平台,其中包括OCR技术接口,允许开发者通过API调用百度OCR服务,实现证件、票据等图像的识别。

  8. 腾讯 OCR:腾讯AI开放平台提供了OCR技术API接口,开发者可以通过API调用腾讯OCR服务,实现身份证、银行卡等图像的文字识别。

这些API接口通常以RESTful风格提供,开发者可以通过HTTP请求将图像文件发送给OCR服务,并获取识别后的文本数据或结构化数据。

代码撸起来

1. Google Cloud Vision API

使用 Google Cloud SDK 和 C# 调用示例:
using Google.Cloud.Vision.V1;
using Grpc.Auth;

public class GoogleCloudVisionOCR
{
    public async Task<string> PerformOCRAsync(byte[] imageBytes)
    {
        // 设置 Google Cloud 凭证
        GoogleCredential credential = GoogleCredential.FromFile("path_to_your_service_account_key.json");
        Channel channel = new Channel(VisionServiceClient.DefaultEndpoint.ToString(), credential.ToChannelCredentials());
        var client = ImageAnnotatorClient.Create(channel);

        // 创建一个图像分析请求
        Image image = Image.FromBytes(imageBytes);
        var response = await client.DetectTextAsync(image);

        // 解析并返回识别的文本
        StringBuilder result = new StringBuilder();
        foreach (var annotation in response)
        {
            if (annotation.Description != null)
                result.AppendLine(annotation.Description);
        }

        return result.ToString();
    }
}

2. Microsoft Azure Computer Vision API

使用 Microsoft.Azure.CognitiveServices.Vision.ComputerVision SDK 和 C# 调用示例:
using Microsoft.Azure.CognitiveServices.Vision.ComputerVision;
using Microsoft.Azure.CognitiveServices.Vision.ComputerVision.Models;
using System.IO;

public class MicrosoftAzureComputerVisionOCR
{
    public async Task<string> PerformOCRAsync(byte[] imageBytes)
    {
        // 设置 Azure 认证信息
        var credentials = new ApiKeyServiceClientCredentials("your_subscription_key");
        var client = new ComputerVisionClient(credentials) { Endpoint = "https://your-region.api.cognitive.microsoft.com/" };

        // 创建一个图像分析请求
        using (MemoryStream imageStream = new MemoryStream(imageBytes))
        {
            var result = await client.RecognizePrintedTextInStreamAsync(true, imageStream);

            // 解析并返回识别的文本
            StringBuilder text = new StringBuilder();
            foreach (var region in result.Regions)
            {
                foreach (var line in region.Lines)
                {
                    foreach (var word in line.Words)
                    {
                        text.Append(word.Text).Append(" ");
                    }
                    text.AppendLine();
                }
            }

            return text.ToString();
        }
    }
}

3. 百度 OCR API

使用 Baidu.Aip.Ocr SDK 和 C# 调用示例:
using Baidu.Aip.Ocr;
using System;
using System.IO;
using System.Text;

public class BaiduOCRAPI
{
    private const string APP_ID = "your_app_id";
    private const string API_KEY = "your_api_key";
    private const string SECRET_KEY = "your_secret_key";

    public string PerformOCR(byte[] imageBytes)
    {
        var client = new Ocr(API_KEY, SECRET_KEY);

        // 设置调用参数
        var options = new Dictionary<string, object>
        {
            {"language_type", "CHN_ENG"},
            {"detect_direction", "true"},
            {"detect_language", "true"},
            {"probability", "true"}
        };

        // 调用通用文字识别,图片参数为本地图片
        var result = client.GeneralBasic(imageBytes, options);

        // 解析并返回识别的文本
        StringBuilder text = new StringBuilder();
        foreach (var item in result["words_result"])
        {
            text.AppendLine(item["words"].ToString());
        }

        return text.ToString();
    }
}

4. 华为 OCR

使用 HuaweiCloud.SDK.OCR SDK 和 C# 调用示例:
using HuaweiCloud.SDK.OCR.V1;
using HuaweiCloud.SDK.OCR.V1.Model;
using System;
using System.IO;
using System.Text;

public class HuaweiOCRAPI
{
    private const string AK = "your_access_key";
    private const string SK = "your_secret_key";
    private const string REGION = "cn-north-4"; // 替换为实际的区域

    public string PerformOCR(byte[] imageBytes)
    {
        var ocrClient = new OcrClient(AK, SK, REGION);

        // 创建OCR识别请求
        var recognitionRequest = new RecognizeGeneralTextRequest
        {
            ImageFile = new System.IO.MemoryStream(imageBytes),
            Url = "https://obs.cn-north-4.myhuaweicloud.com/example.jpg", // 替换为实际的图片URL
            UrlType = "1" // 设置为1表示URL为图片URL
        };

        try
        {
            // 发送OCR识别请求并获取结果
            var recognitionResponse = ocrClient.RecognizeGeneralText(recognitionRequest);
            
            // 解析并返回识别的文本
            StringBuilder text = new StringBuilder();
            foreach (var textLocale in recognitionResponse.Result.TextDetections)
            {
                text.AppendLine(textLocale.DetectedText);
            }

            return text.ToString();
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Failed to recognize text: {ex.Message}");
            return null;
        }
    }
}

5. 腾讯 OCR API

使用 TencentCloud.SDK.Ocr SDK 和 C# 调用示例:
using TencentCloud.Common;
using TencentCloud.Common.Profile;
using TencentCloud.Ocr.V20181119;
using TencentCloud.Ocr.V20181119.Models;
using System;
using System.IO;
using System.Text;
using System.Threading.Tasks;

public class TencentOCRAPI
{
    private const string SecretId = "your_secret_id";
    private const string SecretKey = "your_secret_key";
    private const string Region = "ap-guangzhou"; // 替换为实际的地域

    public async Task<string> PerformOCRAsync(byte[] imageBytes)
    {
        Credential cred = new Credential
        {
            SecretId = SecretId,
            SecretKey = SecretKey
        };
        ClientProfile clientProfile = new ClientProfile();
        HttpProfile httpProfile = new HttpProfile();
        httpProfile.Endpoint = ("ocr.tencentcloudapi.com");
        clientProfile.HttpProfile = httpProfile;
        OcrClient client = new OcrClient(cred, Region, clientProfile);

        // 创建OCR识别请求
        GeneralBasicOCRRequest req = new GeneralBasicOCRRequest
        {
            ImageBase64 = Convert.ToBase64String(imageBytes)
        };

        try
        {
            // 发送OCR识别请求并获取结果
            GeneralBasicOCRResponse resp = await client.GeneralBasicOCR(req);

            // 解析并返回识别的文本
            StringBuilder text = new StringBuilder();
            foreach (TextDetection item in resp.TextDetections)
            {
                text.AppendLine(item.DetectedText);
            }

            return text.ToString();
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Failed to recognize text: {ex.Message}");
            return null;
        }
    }
}

注意事项:

  • 每个SDK都有其特定的使用方法和初始化方式,请确保按照官方文档提供的方式来配置和使用SDK。
  • 替换示例中的密钥、区域等参数为实际有效的凭证和配置信息。
  • 这些示例代码中展示了如何通过C#调用各家公司的OCR服务来实现文本识别,开发者可以根据具体需求和场景进行调整和扩展。

 写得过瘾啊,这样的文章写起来是最舒服的,有对比有代码,各位别嫌又臭又长,我要一个赞不过分吧,兮兮

标签:识别,秋色,华为,API,new,var,using,OCR
From: https://blog.csdn.net/Hellc007/article/details/140132809

相关文章

  • 2024年华为OD机试真题-分披萨-C++-OD统一考试(C卷D卷)
    2024年OD统一考试(D卷)完整题库:华为OD机试2024年最新题库(Python、JAVA、C++合集) 题目描述:“吃货”和“馋嘴”两人到披萨店点了一份铁盘(圆形)披萨,并嘱咐店员将披萨按放射状切成大小相同的偶数扇形小块。但是粗心服务员将披萨切成了每块大小都完全不同奇数块,且肉眼能分辨出大小......
  • Visual C++ generate uuid via UuidCreate and CoCreateGuid,get time now,write stri
    //ConsoleApplication3.cpp:Thisfilecontainsthe'main'function.Programexecutionbeginsandendsthere.//#pragmacomment(lib,"rpcrt4.lib")#include<windows.h>#include<chrono>#include<ctime>#include&l......
  • 华为云技术专家硬核分享,云原生中间件如何加速业务发展
    本文分享自华为云社区《云原生中间件,构筑软件安全可信的连接桥梁》,作者:华为云PaaS服务小智。近日,在华为云开发者大会2024期间,来自华为云PaaS服务,中间件领域产品团队的资深专家、技术总监、高级产品经理等大咖们发表了以“云原生中间件,构筑软件安全可信的连接桥梁”为主题的专题......
  • 2024华为OD机试真题- 电脑病毒感染-(C++/Python)-C卷D卷-200分
     2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++)      题目描述一个局域网内有很多台电脑,分别标注为0~N-1的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t表示。其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。......
  • 华为OCR识别技术 [C#]
    了解华为OCR识别技术光学字符识别(OCR,OpticalCharacterRecognition)是一种将印刷或手写的文本字符转换为机器可读文本的技术。华为的OCR技术在业界以其高精度和高效率而著称,广泛应用于金融、教育、政府等多个领域。OCR技术原理OCR技术主要包括以下几个步骤:图像预处理:对输入......
  • 华为OD机试D卷 --智能成绩表--24年OD统一考试(Java & JS & Python & C & C++)
    文章目录题目描述输入描述输出描述用例题目解析算法源码题目描述小明来到某学校当老师,需要将学生按考试总分或单科分数进行排名,你能帮帮他吗?输入描述第1行输入两个整数,学生人数n和科目数量m。0<n<1000<m<10第2行输入m个科目名称,彼......
  • 华为OD机试D卷 --最富裕的小家庭--24年OD统一考试(Java & JS & Python & C & C++)
    文章目录题目描述输入描述输出描述用例题目解析算法源码题目描述在一颗树中,每个节点代表一个家庭成员,节点的数字表示其个人的财富值,一个节点及其直接相连的子节点被定义为一个小家庭。现给你一颗树,请计算出最富裕的小家庭的财富和。输入描述第一行为一......
  • 华为OD机试D卷 --最多购买宝石数目--24年OD统一考试(Java & JS & Python & C & C++)
    文章目录题目描述输入描述输出描述用例1用例2用例3用例4题目解析算法源码题目描述橱窗里有一排宝石,不同的宝石对应不同的价格,宝石的价格标记为gems[i]0≤i<nn=gems.length宝石可同时出售0个或多个,如果同时出售多个,则要求出售的宝石编号连续;......
  • 华为OD机试D卷 --最大括号深度--24年OD统一考试(Java & JS & Python & C & C++)
    文章目录题目描述输入描述输出描述用例题目解析算法源码题目描述现有一字符串仅由‘(‘,’)’,‘{‘,’}’,’[‘,’]’六种括号组成。若字符串满足以下条件之一,则为无效字符串:①任一类型的左右括号数量不相等;②存在未按正确顺序(先左后右)闭合的括号。输出......
  • ros mocroros 使用双核运行microros
    在硬件篇开始的第一节时,曾提到,我们所使用的开发板单片机是双核240M主频的,但是在后面的开发中我们并没有真正的使用了双核,主频也是使用的默认160MHZ。所以本节带你一起带你一起提升主频并启动双核进行MicoROS的双核。一、双核与RTOS介绍 所谓双核指的是ESP32单片机有两个内核,所......