cncml手绘网
标题:
图像识别API调用代码实例(PHP)
[打印本页]
作者:
admin
时间:
2018-7-8 00:13
标题:
图像识别API调用代码实例(PHP)
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
$ H2 q3 R) q0 S5 k1 h
1.添加商品信息
1 Z1 y$ h; P7 _3 G8 e: r( H J
2.添加图片
2 n% j/ W; N# b8 I/ u# T
3.查询所有产品
" I ~' O/ M/ q& O8 o/ e
4.查询某个具体产品信息
6 b( h* x2 ?9 ~
5.删除某个产品
! l9 P' u0 `0 b0 B
6.删除图片
3 m K! l9 s) Q: F& [/ {
7.图像识别
+ v0 N9 L- i1 H& Z% k$ ^5 @2 T/ m
4 C4 {5 Q: q! J: {- t% t, m9 d' o
图像识别API文档:
https://www.juhe.cn/docs/api/id/117
,申请后生成AppKey
3 }' {- q: U- m3 `
8 D: Z8 i U4 T/ b8 ^
PHP示例:
: P) G; ^6 c/ O; n
<!--?php
: ]( o; Q( H. X( a
// +----------------------------------------------------------------------
4 U1 B5 V4 P4 _9 h3 _" U
// | JuhePHP [ NO ZUO NO DIE ]
4 t( Z( c; l5 o5 x: g$ U* J+ w
// +----------------------------------------------------------------------
7 d- _7 g9 b" s9 }7 D J
// | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
3 k" Z( O. M! M
// +----------------------------------------------------------------------
7 C* w- g9 O. `2 y" b
// | Author: Juhedata <info@juhe.cn-->
( |5 \1 I& j' A9 H9 l, s
// +----------------------------------------------------------------------
) r9 q# h' p" J- E; p" P
# z0 D2 Q, c& B# d# i& S( L, _8 k; g
//----------------------------------
! i& Y9 V7 X. i4 V, K: Z
// 图像识别调用示例代码 - 聚合数据
9 ^ S# H# r3 C+ Y% l* _. g
// 在线接口文档:http://www.juhe.cn/docs/117
4 u3 {& v! w6 I8 f. O
//----------------------------------
1 L# ]5 P) n1 P" N* M4 x
7 u' t' q; @9 E' v) J
header('Content-type:text/html;charset=utf-8');
/ }9 b) x) a, W& m3 H/ J
- S# j+ }% p, f# w( W0 n, a- \
4 Y# {9 t) Y) N
//配置您申请的appkey
% m: o" o$ e' r7 h$ \
$appkey = "*********************";
' l: A0 Z K. R
4 e, @& ]1 H9 O G* n
/ K4 T) J# g7 u+ G7 h: k& W) m p
@9 a$ r4 G" [' V) W
: k$ j1 ?! T" P, d% f& ?. u
//************1.图像上传************
( h: U8 B5 e5 a0 ^' }) W
$url = "http://japi.juhe.cn/image_recognition/upload";
6 M+ u% ?/ Y( m0 a$ h2 p* h
$params = array(
% G1 Y3 _4 m6 @1 \
"file" => "",//上传的单张图片
3 E" ~ i% i6 \8 B
"key" => $appkey,//APP Key
& A. ^; N) z& A& f$ k$ a/ B
"pname" => "",//包名
8 c: v1 [( \, E: g, k2 U8 J/ r7 _
);
X+ n: G/ H, c" `. B
$paramstring = http_build_query($params);
6 r* @8 {0 v# `/ G, c/ e
$content = juhecurl($url,$paramstring,1);
5 l! ?3 O! z7 G7 x
$result = json_decode($content,true);
$ ] d* a' y) ]) a' C
if($result){
* {: H0 H- ~/ h& Q
if($result['error_code']=='0'){
8 @/ ^) R% z, R( G" P. b
print_r($result);
' F, F q* n1 b9 z7 D$ ]
}else{
* K4 B' N& M0 r7 D$ t1 z& Q+ j
echo $result['error_code'].":".$result['reason'];
2 j" Q. U/ t/ u+ {
}
# A3 [, h! U; z5 J
}else{
# \3 c9 h3 Y3 F5 Q) q" n# I
echo "请求失败";
0 C) B7 S; O, A p" E- ^
}
& i9 k1 M5 S7 v
//**************************************************
7 j1 F8 b& n1 c6 Y
0 Z; Q" o1 S8 j: G. o/ R4 I$ w/ Z
: l6 \, L) l; _; |, G, `! U
2 n3 N' i1 t: j( \- F9 O
8 t; p" b( o# z9 D$ z" V6 w
//************2.查寻上传图像信息************
+ i! i; M8 X, L' w6 G
$url = "http://japi.juhe.cn/image_recognition/findAll";
, r0 U: Q$ L* R; `# S
$params = array(
! q* S- y" y( ~1 q7 O
"key" => $appkey,//APP Key
! o2 I; S, y/ R9 d1 X3 _
);
- g6 L' s! r1 f
$paramstring = http_build_query($params);
$ H) _; W3 w: n8 V1 z1 }! @( z
$content = juhecurl($url,$paramstring);
& B2 t8 I! n+ T+ u( G% E) f
$result = json_decode($content,true);
" z$ L; j% R! x- s2 C; S* C
if($result){
" ], r$ J/ z* h7 _* `; h, D
if($result['error_code']=='0'){
, q' \2 B! N" B
print_r($result);
: Z% t$ I: X' F. T( v$ V* l
}else{
3 F4 E' E: F& R t- M; g. @
echo $result['error_code'].":".$result['reason'];
2 d- n; m# ?7 O: {/ r
}
, r& `' f: w X
}else{
1 D! |* E! r) w1 [, D
echo "请求失败";
4 i: b' \$ K) Y, l1 ~7 W% e' u
}
. @3 M/ ^: _$ g
//**************************************************
8 n, U9 n" L u
- [, I0 m% P6 O1 [
. ~: Q v, T5 |( m" b
p1 {$ l \4 {6 p. O; |; \
% H+ r: o6 S7 l! X$ N
//************3.删除图像信息************
5 c1 o2 g$ \) ^0 p. f) c$ f
$url = "http://japi.juhe.cn/image_recognition/delete";
9 K) C- N1 y$ n/ A5 R
$params = array(
* X' H/ I$ g! n
"key" => $appkey,//APP Key
& f, B; N" s7 I! q3 ?3 z
"imageId" => "",//图片ID
5 u/ `" V# ~5 ]/ C0 o! M. ~
);
( W' {/ V2 i# I3 N! K7 N
$paramstring = http_build_query($params);
: q5 L ^& Q, y6 \' V- e8 ?! N
$content = juhecurl($url,$paramstring);
K' w4 _2 _+ {8 L9 @3 [' S
$result = json_decode($content,true);
4 V" ?' Z# I4 N4 j0 O
if($result){
% J* O v' I! ^/ @
if($result['error_code']=='0'){
' _% B8 U4 d. F; d% _: @3 `/ G# [
print_r($result);
! }2 Q- V3 S- w9 j/ r
}else{
0 r1 ^% q' Z; T+ E% q+ O6 x/ L
echo $result['error_code'].":".$result['reason'];
: O9 s3 [# v' S: f3 k9 @8 @
}
( B( U# T& Q" i. |5 f- s7 T- T
}else{
+ _* S2 m/ j1 k; h4 a
echo "请求失败";
, L' O, R: o' c# ]% q9 l
}
& Z" h3 ]7 H. D) ?) E
//**************************************************
J' ?1 q$ W4 d8 I
3 @. z6 q$ y: c" E M
( |* y4 ~4 Q' x: ]
, q" L- ?8 p& z, H$ e7 z
' l, B `+ r6 f* P
//************4.图像识别************
; C L' s4 V# A
$url = "http://japi.juhe.cn/image_recognition/check";
7 ^ \* M9 l7 U: _
$params = array(
4 a! }- V% H: V: i$ L
"file" => "",//上传的图片
) O* g0 P, k8 I) f1 \8 P3 E
"key" => $appkey,//APP Key
- \* Q8 }; [9 N. n
"pname" => "",//包名
" b: V$ X- U+ _, [1 f5 o
"device_name" => "",//设备名称(如android OS或iphone OS)
8 m7 G% p' ~; S0 K6 {& L
"device_version" => "",//设备版本(如:4.0.3)
& e6 [8 A. ~8 V! f$ y% y
"latitude" => "",//纬度
# k: e/ {! ~1 g4 u* Y, j$ H
"longitude" => "",//经度
+ |, M7 z2 n2 f6 G
"uuid" => "",//设备id
' |4 G: k& b7 O7 @% R: R; B, B
"zone" => "",//请求地区
, ~! A, _. x; d: Z# T
);
3 C6 `. |/ ?/ }
$paramstring = http_build_query($params);
: F4 y; Q6 s9 W2 ~5 m- U
$content = juhecurl($url,$paramstring,1);
3 I* _2 e3 A" s
$result = json_decode($content,true);
- E" F7 i& y% S7 H
if($result){
4 t9 F3 o" L+ l- u. e
if($result['error_code']=='0'){
9 p2 G( `* V2 A' G
print_r($result);
% _% o$ V- \/ |, N8 |; V I" R3 i8 \
}else{
' V7 n$ ^, z) c- q ?2 P- s' J
echo $result['error_code'].":".$result['reason'];
/ x! I! b, ^$ ]1 F' i, Y( q+ G
}
- s% R& g/ c; l4 C2 ]9 i
}else{
$ Y# n& z+ y. X& ~6 C& U; {# K
echo "请求失败";
5 a! p$ \5 X) W
}
! r: c4 A0 a; k! ]% [
//**************************************************
! t: u% f5 V" T* t' H E$ p
- ?& P! }# P$ m/ x' A& ^5 I
& }# H6 U2 Z4 a1 \, e1 s& C
7 A; p1 }! w* o
: t; Y5 |! }- g4 l) a
. L; C9 S2 b i* G. |4 c+ N
/**
3 |- A% \, U; [- I4 X2 X! f
* 请求接口返回内容
7 z- h% u, }( o6 D) Z( O
* @param string $url [请求的URL地址]
$ V/ c" s1 k( k# Q
* @param string $params [请求的参数]
1 f' Y- s5 [3 F2 h0 Y% ]
* @param int $ipost [是否采用POST形式]
% v! R% D% x0 C, J k5 x3 A- k, D
* @return string
0 @) E8 I0 _6 T* Q, | [
*/
! s, H x2 O6 |. C6 l$ ?& z& N
function juhecurl($url,$params=false,$ispost=0){
: Y. l6 d$ a. n" U1 p
$httpInfo = array();
) ]9 [: @/ c6 j, T% I+ t
$ch = curl_init();
9 ~0 Q+ |0 W# s) T
8 J6 o$ g% y# D5 {8 L8 O
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
T6 p o" z4 }- h1 c5 c5 j! M; e
curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
, n9 ]& |' \* y
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
( q0 V, M/ e- y5 t
curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
D- T8 d7 t9 Y: q4 y
curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
! o& q" n; R9 M+ c/ @# R" ~% ]. a
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
5 g0 @" p: P/ Y, r
if( $ispost )
# Z( C3 N& y8 G
{
( |, O1 `, I* q b$ \4 S# x
curl_setopt( $ch , CURLOPT_POST , true );
9 g& l# _0 b1 e
curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
" D' h% p Q9 [6 U" W& \ e
curl_setopt( $ch , CURLOPT_URL , $url );
8 v) x- y ~% k% V1 r
}
4 Y8 j$ x% ~$ V; n, P
else
/ r% Z2 ~# G& X) w3 [" t
{
d- F+ R; C4 L
if($params){
/ j+ ^% k) M: Y( h
curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
& m& j+ h2 O5 g ?
}else{
. q5 S/ {) i# i0 _- V! r' K6 d4 c
curl_setopt( $ch , CURLOPT_URL , $url);
; r. s0 r4 j* v! w
}
' |! v, a0 C; r' O+ \
}
* O. s3 @( ^+ h1 N
$response = curl_exec( $ch );
9 w S- g7 i* b0 t Y. l1 b$ _
if ($response === FALSE) {
1 ~5 b* u% K c# F, ~ b! [* E w
//echo "cURL Error: " . curl_error($ch);
2 ^1 E# r9 f8 F$ A5 X" G
return false;
# N/ F3 D! X* I+ v6 N
}
2 `. Y% t; k+ n. u* i
$httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
: ^+ T5 L6 V- T3 p; C( T/ s; A
$httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
* i1 p5 I- t% y
curl_close( $ch );
& h5 D' w% A# U$ A0 U$ m
return $response;
) F! ] H2 n1 }) Q
}
复制代码
7 ]! t$ Y$ V2 g' S4 d; ?! o' O
$ A! n' M2 r0 p2 Z8 H2 ^9 n3 W/ K
欢迎光临 cncml手绘网 (http://www.cncml.com/)
Powered by Discuz! X3.2