当前位置: 移动技术网 > IT编程>开发语言>Delphi > 人体分析Demo-百度API

人体分析Demo-百度API

2019年09月22日  | 移动技术网IT编程  | 我要评论

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

1、  登录百度云官网 当然需要一个百度账号

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网