C#通過百度Ai介面實現圖片文字識別核心程式碼-楊麻子部落格

yangermazi發表於2018-07-26

相關介紹及圖片展示以及下載地址請參考文章:https://blog.tag.gg/518.html  以下是核心程式碼,直接複製到您的專案中可以直接使用,若轉載請註明出處啊,碼字很辛苦啊,

實現效果:

上傳圖片按鈕程式碼:

    private void button1_Click(object sender, EventArgs e)
            {
                try
                {
                    richTextBox1.Text = "";
                    Openimgfile(); //呼叫檔案開啟對話方塊
                    this.button1.Text = "上傳並提取中...";
                    pictureBox1.LoadAsync(textBox1.Text);
                    GeneralBasicDemo(); 呼叫百度ai介面
                }
                catch (Exception ex)
                {
                    MessageBox.Show("報錯,原因:" + ex.Message, "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    
                }
            }

開啟檔案對話方塊過程程式碼:

        public void Openimgfile()
        {
            try
            {
                OpenFileDialog dialog = new OpenFileDialog();
                dialog.Filter = "圖片(*.png;*.jpg;*.bmp;*.jpeg)|*.png;*.jpg;*.bmp;*.jpeg";
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    this.textBox1.Text = dialog.FileName;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("報錯,原因:" + ex.Message, "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

呼叫百度api介面 過程程式碼:

    public void GeneralBasicDemo()
            {
                try
                {
                    string Json;
                    var APP_ID = "123456";
                    var API_KEY = "123456";
                    var SECRET_KEY = "123456";
                    var client = new Baidu.Aip.Ocr.Ocr(API_KEY, SECRET_KEY);
                    client.Timeout = 60000;  
                    var image = File.ReadAllBytes(textBox1.Text);
                    var result = client.GeneralBasic(image);
                    Console.WriteLine(result);
                    // 如果有可選引數
                    var options = new Dictionary<string, object>
                {
                    {"language_type", "CHN_ENG"},
                    {"detect_direction", "true"},
                    {"detect_language", "true"},
                    {"probability", "true"}
                };
                   
                    result = client.GeneralBasic(image, options);
                    //Console.WriteLine(result);
                    //richTextBox1.Text = result.ToString();
                    Json = result.ToString();
                    Json_get(Json);
                    this.button1.Text = "選擇圖片並提取文字";
                }
                catch (Exception ex)
                {
                    MessageBox.Show("報錯,原因:" + ex.Message, "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    this.button1.Text = "選擇圖片並提取文字";
                }
            }

百度返回的內容是json格式,需要從json中提取words關鍵字對應的值, 若需要,請留言,我單獨發郵箱

以上是核心程式碼,可以直接複製到你工程中使用,碼字很辛苦啊,轉載註明出處啊,

未經允許不得轉載:技術小學生 » C#通過百度Ai介面實現圖片文字識別核心程式碼

相關文章