中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Unity怎么實現OCR文字識別功能

發布時間:2022-01-04 12:54:37 來源:億速云 閱讀:381 作者:柒染 欄目:開發技術

今天就跟大家聊聊有關Unity怎么實現OCR文字識別功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

首先登陸百度開發者中心,搜索文字識別服務:

Unity怎么實現OCR文字識別功能

創建一個應用,獲取AppID、APIKey、SecretKey秘鑰信息:

Unity怎么實現OCR文字識別功能

Unity怎么實現OCR文字識別功能

下載C# SDK,將AipSdk.dll動態庫導入Unity:

Unity怎么實現OCR文字識別功能

Unity怎么實現OCR文字識別功能

本文以通用文字識別為例,查閱官方文檔,以下是通用文字識別的返回數據結構:

Unity怎么實現OCR文字識別功能

在Unity中定義相應的數據結構:

using System;
 
/// <summary>
/// 通用文字識別
/// </summary>
[Serializable]
public class GeneralOcr
{
    /// <summary>
    /// 圖像方向 -1未定義 0正弦 1逆時針90度 2逆時針180度 3逆時針270度
    /// </summary>
    public int direction;
    /// <summary>
    /// 唯一的log id,用于問題定位
    /// </summary>
    public int log_id;
    /// <summary>
    /// 識別結果數,表示words_result的元素個數
    /// </summary>
    public int words_result_num;
    /// <summary>
    /// 定位和識別結果數組
    /// </summary>
    public string[] words_result;
    /// <summary>
    /// 行置信度信息
    /// </summary>
    public Probability probability;
}
 
/// <summary>
/// 行置信度信息
/// </summary>
[Serializable]
public class Probability
{
    /// <summary>
    /// 行置信度平均值
    /// </summary>
    public int average;
    /// <summary>
    /// 行置信度方差
    /// </summary>
    public int variance;
    /// <summary>
    /// 行置信度最小值
    /// </summary>
    public int min;
}

下面是調用時傳入的相關參數:

Unity怎么實現OCR文字識別功能

封裝調用函數:

using System;
using System.Collections.Generic;
using UnityEngine;
 
public class OCR 
{
    //以下信息于百度開發者中心創建應用獲取
    private const string appID = "";
    private const string apiKey = "";
    private const string secretKey = "";
 
    /// <summary>
    /// 通用文字識別
    /// </summary>
    /// <param name="bytes">圖片字節數據</param>
    /// <param name="language">識別語言類型 默認CHN_ENG中英文混合</param>
    /// <param name="detectDirection">是否檢測圖像朝向</param>
    /// <param name="detectLanguage">是否檢測語言,當前支持中、英、日、韓</param>
    /// <param name="probability">是否返回識別結果中每一行的置信度</param>
    /// <returns></returns>
    public static GeneralOcr General(byte[] bytes, string language = "CHN_ENG", bool detectDirection = false, bool detectLanguage = false, bool probability = false)
    {
        var client = new Baidu.Aip.Ocr.Ocr(apiKey, secretKey);
        try
        {
            var options = new Dictionary<string, object>
            {
                { "language_type", language },
                { "detect_direction", detectDirection },
                { "detect_language", detectLanguage },
                { "probability", probability }
            };
            var response = client.GeneralBasic(bytes, options);
            GeneralOcr generalOcr = JsonUtility.FromJson<GeneralOcr>(response.ToString());
            return generalOcr;
        }
        catch (Exception error)
        {
            Debug.LogError(error);
        }
        return null;
    }
}

以上是傳入圖片字節數據調用接口的方式,也可以通過URL調用,只需將GeneralBasic換為重載函數GeneralBasicUrl:

Unity怎么實現OCR文字識別功能

測試圖片:

Unity怎么實現OCR文字識別功能

OCR.General(File.ReadAllBytes(Application.dataPath + "/Picture.jpg"));

Unity怎么實現OCR文字識別功能

看完上述內容,你們對Unity怎么實現OCR文字識別功能有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

年辖:市辖区| 监利县| 拉萨市| 庄浪县| 邯郸市| 聂荣县| 夹江县| 临泉县| 哈巴河县| 衡阳县| 贡觉县| 绍兴市| 长武县| 乌拉特中旗| 神木县| 武山县| 延吉市| 泰安市| 临湘市| 黄冈市| 金溪县| 舞钢市| 平原县| 诸城市| 上虞市| 凤城市| 本溪市| 江都市| 托克逊县| 汽车| 福海县| 红安县| 民和| 横山县| 贵阳市| 新安县| 大埔区| 玛纳斯县| 塔河县| 中江县| 南宫市|