人体分析Demo-百度API

本示例是采用Delphi 7 调用百度人体分析API;首先说明一下,怎么创建测试应用。

1、  登录百度云官网 https://cloud.baidu.com/ 当然需要一个百度账号

2、  进入管理控制台,然后选择产品服务-人工智能-人体分析

 

 

 3、  创建应用即可获取,相应API Key 信息/

 

4、  人流量统计:对应API地址 https://cloud.baidu.com/doc/BODY/s/Pjwvxzafo

 

 

 返回数量和已经渲染的过的图片(非必选)。不知道,有没有17个人。

 

 

获取图片类型时有个小插曲;内存流两个字节是图片类型,一般定义为word,但我直接写了个dword,大家可以自己查一下,有什么区别;

在我正常加载图片的时候,好像没有区别,jpg图片确实是D8FF。但是当在调用人流量统计API返回的渲染图时会多出两位来,出现过18D8FF,4ED8FF。

最后Dword改为Word就可以了。大家可以测试一下/

procedure TFrmMain.cxButton2Click(Sender: TObject);
var
  memImg: TMemoryStream;
  strImg: TStringStream;
  sUrl: string;
  lstParam: TStrings;
  ret: ISuperObject;

  buff: dWORD;
begin
  memImg := TMemoryStream.Create;
  strImg := TStringStream.Create('');
  lstParam := TStringList.Create;
  try
    if Image2.Picture.Graphic = nil then
    begin
      ShowMessage('图片为空, 请下加载图片');
      Exit;
    end;
    Image2.Picture.Graphic.SaveToStream(memImg);
    memImg.Position := 0;
    memImg.ReadBuffer(buff, 2);
    memImg.Position := 0;
    EncdDecd.EncodeStream(memImg, strImg);
    lstParam.Add(Format('image=%S', [strImg.DataString]));
    lstParam.Add(Format('show=true', []));
    sUrl := Format(sUrl_TrafficStat, [FToken]);
    ret := SO(UTF8Decode(IdHTTP1.Post(sUrl, lstParam)));
    cxMemo1.Text := ret.AsString;
    Image2.Picture.Bitmap.Assign(StringToBitmap(ret.S['image']));
  finally
    memImg.Free;
    strImg.Free;
    lstParam.Free;
  end;
end;

5、  手势识别:对应API地址 https://cloud.baidu.com/doc/BODY/s/tjwvxz8jp

单手比心/

 

 其它的大家摸索一下。人体关键点识别,人体属性识别。感觉不是很准,有时候传回的数据也有问题(json串)

不知道是不是图片的问题。

 源码(D7).rar

转载于:https://www.cnblogs.com/adsoft/p/11564023.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值