PHP使用微软认知服务Face API
下面主要介绍基于PHP语言,基于guzzle类库,调用微软最新推出的认知服务:人脸识别。
实验环境:
- IDE:Eclipse for PHP Developers
- Version: Neon.1 Release (4.6.1)
- Server:WampServer Version 2.5
- HttpClient:guzzle
1. 使用composer安装Guzzle
- composer.json文件
{
"require": {
"guzzlehttp/guzzle": "~6.0"
}
}
- composer.phar下载
- 打开控制台指令,在项目目录下运行如下指令完成包的安装
php composer.phar install
2. 证书安装
注意:默认的http客户端工具一般到需要证书的认证,如果没有导入相应的证书一般会报SSL证书认证错误。
- 下载证书到本地,下载地址,将其保存到相应的位置。
- 为了让证书生效需要相应修改php.ini,修改方法如下:
curl.cainfo =<filepath>/cacert.pem
3. PHP代码示例
<?php
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\Client;
require_once 'vendor\autoload.php';
$client = new Client();
$headers = ['Content-Type' => 'application/json','Ocp-Apim-Subscription-Key' => '{key}'];
$body = '{"url":"{image's url}"}';
$request = new Request('POST','https://api.cognitive.azure.cn/face/v1.0/detect', $headers , $body);
$response = $client->send($request);
echo $response->getBody();
?>
4. 运行结果示例
[{"faceId":"b22efa8f-0e34-4344-8346-ca8b79d29a27","faceRectangle":{"top":181,"left":184,"width":257,"height":257}}]
5. 读取本地图片
<?php
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\Client;
require_once 'vendor\autoload.php';
$client = new Client();
$headers = ['Content-Type' => 'application/octet-stream','Ocp-Apim-Subscription-Key' => 'bd8e4ce12f444c639ac9c214d70ac72c'];
$myfile = fopen("tt.jpg", "r") or die("Unable to open file!");
$request = new Request('POST','https://api.cognitive.azure.cn/face/v1.0/detect?returnFaceId=true&returnFaceLandmarks=false&returnFaceAttributes=age', $headers , $myfile);
$response = $client->send($request);
echo $response->getBody();
fclose($myfile);
?>
6. 更多参考
- 关于key的获取可以登录世纪互联官方网站申请账户,在新版本的 portal 中即可创建认知服务。
- 认知服务RestAPI参考
PHP使用微软认知服务Face API的更多相关文章
- 【AI开发第一步】微软认知服务API应用
目录 介绍 API分类 使用‘视觉’API完成的Demo 点击直接看干货 介绍 从3月份Google家的阿尔法狗打败韩国围棋冠军选手李世石,到之后微软Build2016大会宣布的“智能机器人”战略.种 ...
- Windows 10 IoT Serials 11 – 如何设置微软认知服务中EndPoint
1.问题描述 在UWP应用开发过程中,如果要使用微软认知服务,很多开发者会使用Microsoft.Oxford.Face.Microsoft.Oxford.Vision的NuGet包来完成.如果在vi ...
- 微软认知服务:QnA Maker使用示例
简介 QnA Maker 从用户提供的内容(包括 FAQ URL.文档和编辑内容)中提取所有可能存在的问答对:利用易于使用的界面编辑.删除和添加问答对,然后将知识库作为 API 终结点进行发布:QnA ...
- 微软认知服务 Luis
学习认知服务 Luis(Language understand intellgence service) 简述: 开发者可以通过Luis开发可以理解人类语言的只能应用,学习人类语言分析语义. 利用这个 ...
- Java 调用Azure认知服务Demo--Computer API
说明 本文主要介绍使用Java代码,基于HTTP请求调用Microsoft Azure的认知服务.图片来源分别介绍了使用公网的URL和上传本地图片. 依赖的jar包下载地址: key的获取需要登录到A ...
- 通过Javascript调用微软认知服务情感检测接口的两种实现方式
这是今天在黑客松现场写的代码.我们的项目需要调用认知服务的情感识别接口.官方提供了一种方式,就是从一个远程图片进行识别.我另外写了一个从本地文件读取并上传进行识别的例子. 官方文档,请参考 https ...
- Azure 认知服务--计算机视觉 API - 分析图像
在本节中,笔者将详细介绍 Azure 认知服务中的一种:计算机视觉 (Computer Vision) API. 我的一个客户有需求,他们需要消费者与自己的产品合照,然后上传到服务器并转发到朋友圈. ...
- Azure 认知服务 (2) 计算机视觉API - 分析图像
<Windows Azure Platform 系列文章目录> 在上一节内容中,笔者介绍了微软认知服务的概览. 在本节中,笔者将详细介绍微软认知服务中的一种:计算机视觉 (Computer ...
- 微软在Build 2016开发者大会中发布 “认知服务”,牛津计划有正式名字啦!
2016年3月30日:微软在Build 2016开发者大会中发布“认知服务”. 在Build 2016开发者大会中,微软发布了新的智能服务:微软认知服务(Microsoft Cognitive Ser ...
随机推荐
- sql多对多探讨
--用sql语句探讨一对多 多对多关系 /**** 你有3个表 学生表(学生id 学生姓名) 课程表(课程id 课程名) 成绩表 (学生id 课程id 分数) 班级表(班级id 学生id) 这里的班 ...
- Ubuntu 14.04LTS+Git
Git是我们常用的代码托管工具,作为程序员,Git是必备的. 安装Git的方法很简单,官网就有写:http://git-scm.com/download/linux 根据官网的说明,用: sudo a ...
- js 抽奖小案例
Luck Draw 在线演示:九宫格抽奖 对九宫格形式的抽奖页面进行了一些简单封装.以后有机会再更新其他形式的抽奖.
- 华农oj Problem J: 幻化【贪心/抽屉原理】
Problem J: 幻化 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 18 Solved: 3 [Submit][Status][Web Board ...
- HihoCoder 1629 Graph (2017 ACM-ICPC 北京区域赛 C题,回滚莫队 + 启发式合并 + 可撤销并查集)
题目链接 2017 ACM-ICPC Beijing Regional Contest Problem C 题意 给定一个$n$个点$m$条边的无向图.现在有$q$个询问,每次询问格式为$[l, ...
- Python与数据库[2] -> 关系对象映射/ORM[4] -> sqlalchemy 的显式 ORM 访问方式
sqlalchemy 的显式 ORM 访问方式 对于sqlalchemy,可以利用一种显式的ORM方式进行访问,这种方式无需依赖声明层,而是显式地进行操作.还有一种访问方式为声明层 ORM 访问方式. ...
- 818E - Card Game Again(尺取法)
818E - Card Game Again 题意 给出一个数列,选择连续的一段使得这些数字的乘积是 k 的倍数,问合法的方案数. 分析 尺取法.设 num 为连续的数的乘积,只要对于 k 的每个素因 ...
- 用fiddler测试移动端翻页
大家在移动端是怎么测试翻页的,肯定都是下拉或上滑吧,我也是这样测试的 但如果你要验证数据是否与pc端数据一致时,可能是第一页,第二页看看,或最后几页数据看看,在pc端看简单,直接点击最后一页就行,在移 ...
- spring线程并发处理(ThreadLocal)
我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久技术的难度.这些模板类都是线程安全的,也就是说,多个DAO可以复用同一个模板实例而不会发生冲突. 我们使用模板类访问底层数据,根据持 ...
- 注册表数据提取工具RegRipper
注册表数据提取工具RegRipper 注册表是Windows操作系统一个数据库,用来存储系统和应用程序设置信息.注册表信息分别保存在操作系统中的6个Hive文件中.获取这几个文件,就可以从中提取注 ...