使用百度C#图像识别SDK进行图像识别

1.首先,在百度AI平台进行注册登录:百度AI
2.然后点开右上角的控制台,找到图像识别,创建应用,然后就可以看到创建的密钥
在这里插入图片描述
3.打开Vs2017,创建Windows窗体应用,然后添加两个Label,分别命名为Info1,Info2,添加一个按钮,一个pictureBox,pictureBox取名为pictureBox1,然后点开按钮。
在这里插入图片描述
4.然后去百度SDK下载要用到的引用,下过来可能有很多个Net版本的,可以在这里自己查看Net版本
在这里插入图片描述
5.然后把我们sdk引用尽我们的工程里面。
在这里插入图片描述

6.回到脚本,引入相应的命名空间

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Baidu.Aip;
using System.IO;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using AForge.Video.DirectShow;
namespace BaiDuTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Btn_Click(object sender, EventArgs e)
        {
            AdvancedGeneralDemo();
        }
        public void AdvancedGeneralDemo()
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.ShowDialog();
            string _path = ofd.FileName;

            // 设置APPID/AK/SK,回到刚才的创建的控制台,找到之后直接复制回来设置
            var APP_ID = "设置你的AppID";
            var API_KEY = "设置你的API Key";
            var SECRET_KEY = "设置你的Secret Key";

            var client = new Baidu.Aip.ImageClassify.ImageClassify(API_KEY, SECRET_KEY);
            client.Timeout = 60000;  // 修改超时时间

            //var image = File.ReadAllBytes(Application.LocalUserAppDataPath + "/Earth.jpg");

            if (!_path.Contains(".jpg"))//判断有没有打开一张图片,如果路径有问题,会马上报错
            {
                return;
            }
            else
            {
                var image = File.ReadAllBytes(_path);
                pictureBox1.Image = Image.FromFile(_path);
                // 调用通用物体识别,可能会抛出网络等异常,请使用try/catch捕获
                var result = client.AdvancedGeneral(image);
                string intext = result.ToString();
                Info1.Text = result.ToString();
                JObject json1 = (JObject)JsonConvert.DeserializeObject(intext);
                JArray array = (JArray)json1["result"];
                foreach (var item in array)
                {
                    info2.Text = item["keyword"].ToString();//直接使用遍历通过键获得相应的值

                    break;
                }
                // 如果有可选参数
                var options = new Dictionary<string, object>{
        {"baike_num", 5}
    };
                // 带参数调用通用物体识别
                result = client.AdvancedGeneral(image, options);

                string info = result.ToString();
                File.WriteAllText("H:/图像识别/Info.txt", info, Encoding.Default);



            }
        }
        }

7.效果:
在这里插入图片描述

  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ToDoNothing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值