C#调用百度API实现人脸识别

需求:请编写一个C#程序,实现音乐文件的播放功能。
要求:

  1. 程序应能够连接到摄像头并显示画面
  2. 程序应能够处理可能出现的异常,如摄像头故障等。
  3. 程序应具有良好的用户界面,方便用户进行操作。
  4. 程序应具有良好的兼容性,能在不同版本的C#中正常运行。

一、需求分析与思考

  1. 为保证程序的跨平台应用,使用Windows Forms作为开发平台。
  2. 需要调用百度API来实现这个功能。

二、窗体设计

设计如下
在这里插入图片描述
这里需要注意到是中间显示摄像头画面的空间是来自于AForge.Controls空间控件,需要在NuGet包管理里面进行下载。在这里插入图片描述
同时也需要百度的AI的包
在这里插入图片描述
在窗体设计的工具箱里面使对选项卡单机右键点击选择项。在这里插入图片描述
然后浏览点击浏览并寻找到AForge.Controls.dll文件。
在这里插入图片描述
最后选择videoSourcePlayer控件即可。

三、API调用

百度智能云
在这里创建应用、创建用户组,并上传要检测的照片。
在这里插入图片描述
在这里插入图片描述

四、部分代码实现

这部分内容要与自己的API相对应
在这里插入图片描述
在这里插入图片描述

下面是摄像头连接实现代码。

private void CameraConn()
{
    if (comboBox1.Items.Count<=0)
    {
        MessageBox.Show("请插入视频设备");
        return;
    }
    videoSource = new VideoCaptureDevice(videoDevices[comboBox1.SelectedIndex].MonikerString);
    videoSource.DesiredFrameSize = new System.Drawing.Size(320, 240);
    videoSource.DesiredFrameRate = 1;
    
    videoSourcePlayer1.VideoSource = videoSource;
    videoSourcePlayer1.Start();
}

下面是检测本机摄像头实现代码。

private void button6_Click(object sender, EventArgs e)
{
    /// 获取电脑已经安装的视频设备
    videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
    if (videoDevices != null && videoDevices.Count > 0)
    {
        foreach (FilterInfo device in videoDevices)
        {
            comboBox1.Items.Add(device.Name);
        }
        comboBox1.SelectedIndex = 0;
    }
}

五、结果展示

右边是上传的照片识别的分数,左边在登陆成功后会显示之前在百度智能云中创建的用户名。
在这里插入图片描述

六、参考资料

Aforge.net 中添加控件问题
基于winfrom通过调用百度AI的人脸识别
百度AI技术文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值