cncml手绘网

标题: 图像识别API调用代码实例(PHP) [打印本页]

作者: admin    时间: 2018-7-8 00:13
标题: 图像识别API调用代码实例(PHP)
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
$ H2 q3 R) q0 S5 k1 h1.添加商品信息
1 Z1 y$ h; P7 _3 G8 e: r( H  J2.添加图片
2 n% j/ W; N# b8 I/ u# T3.查询所有产品" I  ~' O/ M/ q& O8 o/ e
4.查询某个具体产品信息
6 b( h* x2 ?9 ~5.删除某个产品
! l9 P' u0 `0 b0 B6.删除图片
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,申请后生成AppKey3 }' {- q: U- m3 `

8 D: Z8 i  U4 T/ b8 ^PHP示例:
: P) G; ^6 c/ O; n
  1. <!--?php: ]( o; Q( H. X( a
  2. // +----------------------------------------------------------------------4 U1 B5 V4 P4 _9 h3 _" U
  3. // | JuhePHP [ NO ZUO NO DIE ]4 t( Z( c; l5 o5 x: g$ U* J+ w
  4. // +----------------------------------------------------------------------7 d- _7 g9 b" s9 }7 D  J
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.3 k" Z( O. M! M
  6. // +----------------------------------------------------------------------
    7 C* w- g9 O. `2 y" b
  7. // | Author: Juhedata <info@juhe.cn-->
    ( |5 \1 I& j' A9 H9 l, s
  8. // +----------------------------------------------------------------------
    ) r9 q# h' p" J- E; p" P

  9. # z0 D2 Q, c& B# d# i& S( L, _8 k; g
  10. //----------------------------------! i& Y9 V7 X. i4 V, K: Z
  11. // 图像识别调用示例代码 - 聚合数据9 ^  S# H# r3 C+ Y% l* _. g
  12. // 在线接口文档:http://www.juhe.cn/docs/1174 u3 {& v! w6 I8 f. O
  13. //----------------------------------
    1 L# ]5 P) n1 P" N* M4 x
  14. 7 u' t' q; @9 E' v) J
  15. header('Content-type:text/html;charset=utf-8');
    / }9 b) x) a, W& m3 H/ J
  16. - S# j+ }% p, f# w( W0 n, a- \
  17. 4 Y# {9 t) Y) N
  18. //配置您申请的appkey
    % m: o" o$ e' r7 h$ \
  19. $appkey = "*********************";' l: A0 Z  K. R
  20. 4 e, @& ]1 H9 O  G* n

  21. / K4 T) J# g7 u+ G7 h: k& W) m  p
  22.   @9 a$ r4 G" [' V) W

  23. : k$ j1 ?! T" P, d% f& ?. u
  24. //************1.图像上传************
    ( h: U8 B5 e5 a0 ^' }) W
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    6 M+ u% ?/ Y( m0 a$ h2 p* h
  26. $params = array(% G1 Y3 _4 m6 @1 \
  27.       "file" => "",//上传的单张图片3 E" ~  i% i6 \8 B
  28.       "key" => $appkey,//APP Key& A. ^; N) z& A& f$ k$ a/ B
  29.       "pname" => "",//包名8 c: v1 [( \, E: g, k2 U8 J/ r7 _
  30. );
      X+ n: G/ H, c" `. B
  31. $paramstring = http_build_query($params);6 r* @8 {0 v# `/ G, c/ e
  32. $content = juhecurl($url,$paramstring,1);
    5 l! ?3 O! z7 G7 x
  33. $result = json_decode($content,true);$ ]  d* a' y) ]) a' C
  34. if($result){
    * {: H0 H- ~/ h& Q
  35.     if($result['error_code']=='0'){
    8 @/ ^) R% z, R( G" P. b
  36.         print_r($result);' F, F  q* n1 b9 z7 D$ ]
  37.     }else{* K4 B' N& M0 r7 D$ t1 z& Q+ j
  38.         echo $result['error_code'].":".$result['reason'];2 j" Q. U/ t/ u+ {
  39.     }
    # A3 [, h! U; z5 J
  40. }else{
    # \3 c9 h3 Y3 F5 Q) q" n# I
  41.     echo "请求失败";0 C) B7 S; O, A  p" E- ^
  42. }
    & i9 k1 M5 S7 v
  43. //**************************************************7 j1 F8 b& n1 c6 Y

  44. 0 Z; Q" o1 S8 j: G. o/ R4 I$ w/ Z

  45. : l6 \, L) l; _; |, G, `! U
  46. 2 n3 N' i1 t: j( \- F9 O
  47. 8 t; p" b( o# z9 D$ z" V6 w
  48. //************2.查寻上传图像信息************
    + i! i; M8 X, L' w6 G
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    , r0 U: Q$ L* R; `# S
  50. $params = array(! q* S- y" y( ~1 q7 O
  51.       "key" => $appkey,//APP Key! o2 I; S, y/ R9 d1 X3 _
  52. );- g6 L' s! r1 f
  53. $paramstring = http_build_query($params);$ H) _; W3 w: n8 V1 z1 }! @( z
  54. $content = juhecurl($url,$paramstring);& B2 t8 I! n+ T+ u( G% E) f
  55. $result = json_decode($content,true);
    " z$ L; j% R! x- s2 C; S* C
  56. if($result){
    " ], r$ J/ z* h7 _* `; h, D
  57.     if($result['error_code']=='0'){, q' \2 B! N" B
  58.         print_r($result);: Z% t$ I: X' F. T( v$ V* l
  59.     }else{3 F4 E' E: F& R  t- M; g. @
  60.         echo $result['error_code'].":".$result['reason'];2 d- n; m# ?7 O: {/ r
  61.     }, r& `' f: w  X
  62. }else{
    1 D! |* E! r) w1 [, D
  63.     echo "请求失败";
    4 i: b' \$ K) Y, l1 ~7 W% e' u
  64. }
    . @3 M/ ^: _$ g
  65. //**************************************************8 n, U9 n" L  u
  66. - [, I0 m% P6 O1 [
  67. . ~: Q  v, T5 |( m" b
  68.   p1 {$ l  \4 {6 p. O; |; \

  69. % H+ r: o6 S7 l! X$ N
  70. //************3.删除图像信息************
    5 c1 o2 g$ \) ^0 p. f) c$ f
  71. $url = "http://japi.juhe.cn/image_recognition/delete";9 K) C- N1 y$ n/ A5 R
  72. $params = array(
    * X' H/ I$ g! n
  73.       "key" => $appkey,//APP Key
    & f, B; N" s7 I! q3 ?3 z
  74.       "imageId" => "",//图片ID5 u/ `" V# ~5 ]/ C0 o! M. ~
  75. );( W' {/ V2 i# I3 N! K7 N
  76. $paramstring = http_build_query($params);
    : q5 L  ^& Q, y6 \' V- e8 ?! N
  77. $content = juhecurl($url,$paramstring);  K' w4 _2 _+ {8 L9 @3 [' S
  78. $result = json_decode($content,true);4 V" ?' Z# I4 N4 j0 O
  79. if($result){% J* O  v' I! ^/ @
  80.     if($result['error_code']=='0'){
    ' _% B8 U4 d. F; d% _: @3 `/ G# [
  81.         print_r($result);
    ! }2 Q- V3 S- w9 j/ r
  82.     }else{0 r1 ^% q' Z; T+ E% q+ O6 x/ L
  83.         echo $result['error_code'].":".$result['reason'];
    : O9 s3 [# v' S: f3 k9 @8 @
  84.     }( B( U# T& Q" i. |5 f- s7 T- T
  85. }else{
    + _* S2 m/ j1 k; h4 a
  86.     echo "请求失败";
    , L' O, R: o' c# ]% q9 l
  87. }& Z" h3 ]7 H. D) ?) E
  88. //**************************************************  J' ?1 q$ W4 d8 I
  89. 3 @. z6 q$ y: c" E  M

  90. ( |* y4 ~4 Q' x: ]
  91. , q" L- ?8 p& z, H$ e7 z

  92. ' l, B  `+ r6 f* P
  93. //************4.图像识别************
    ; C  L' s4 V# A
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    7 ^  \* M9 l7 U: _
  95. $params = array(
    4 a! }- V% H: V: i$ L
  96.       "file" => "",//上传的图片
    ) O* g0 P, k8 I) f1 \8 P3 E
  97.       "key" => $appkey,//APP Key
    - \* Q8 }; [9 N. n
  98.       "pname" => "",//包名" b: V$ X- U+ _, [1 f5 o
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    8 m7 G% p' ~; S0 K6 {& L
  100.       "device_version" => "",//设备版本(如:4.0.3)& e6 [8 A. ~8 V! f$ y% y
  101.       "latitude" => "",//纬度
    # k: e/ {! ~1 g4 u* Y, j$ H
  102.       "longitude" => "",//经度
    + |, M7 z2 n2 f6 G
  103.       "uuid" => "",//设备id' |4 G: k& b7 O7 @% R: R; B, B
  104.       "zone" => "",//请求地区
    , ~! A, _. x; d: Z# T
  105. );
    3 C6 `. |/ ?/ }
  106. $paramstring = http_build_query($params);
    : F4 y; Q6 s9 W2 ~5 m- U
  107. $content = juhecurl($url,$paramstring,1);3 I* _2 e3 A" s
  108. $result = json_decode($content,true);
    - E" F7 i& y% S7 H
  109. if($result){
    4 t9 F3 o" L+ l- u. e
  110.     if($result['error_code']=='0'){9 p2 G( `* V2 A' G
  111.         print_r($result);% _% o$ V- \/ |, N8 |; V  I" R3 i8 \
  112.     }else{
    ' V7 n$ ^, z) c- q  ?2 P- s' J
  113.         echo $result['error_code'].":".$result['reason'];/ x! I! b, ^$ ]1 F' i, Y( q+ G
  114.     }
    - s% R& g/ c; l4 C2 ]9 i
  115. }else{$ Y# n& z+ y. X& ~6 C& U; {# K
  116.     echo "请求失败";5 a! p$ \5 X) W
  117. }
    ! r: c4 A0 a; k! ]% [
  118. //**************************************************
    ! t: u% f5 V" T* t' H  E$ p

  119. - ?& P! }# P$ m/ x' A& ^5 I
  120. & }# H6 U2 Z4 a1 \, e1 s& C
  121. 7 A; p1 }! w* o
  122. : t; Y5 |! }- g4 l) a
  123. . L; C9 S2 b  i* G. |4 c+ N
  124. /**
    3 |- A% \, U; [- I4 X2 X! f
  125. * 请求接口返回内容
    7 z- h% u, }( o6 D) Z( O
  126. * @param  string $url [请求的URL地址]
    $ V/ c" s1 k( k# Q
  127. * @param  string $params [请求的参数]1 f' Y- s5 [3 F2 h0 Y% ]
  128. * @param  int $ipost [是否采用POST形式]% v! R% D% x0 C, J  k5 x3 A- k, D
  129. * @return  string
    0 @) E8 I0 _6 T* Q, |  [
  130. */! s, H  x2 O6 |. C6 l$ ?& z& N
  131. function juhecurl($url,$params=false,$ispost=0){
    : Y. l6 d$ a. n" U1 p
  132.     $httpInfo = array();) ]9 [: @/ c6 j, T% I+ t
  133.     $ch = curl_init();
    9 ~0 Q+ |0 W# s) T
  134. 8 J6 o$ g% y# D5 {8 L8 O
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );  T6 p  o" z4 }- h1 c5 c5 j! M; e
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );, n9 ]& |' \* y
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );( q0 V, M/ e- y5 t
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
      D- T8 d7 t9 Y: q4 y
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    ! o& q" n; R9 M+ c/ @# R" ~% ]. a
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    5 g0 @" p: P/ Y, r
  141.     if( $ispost )# Z( C3 N& y8 G
  142.     {
    ( |, O1 `, I* q  b$ \4 S# x
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    9 g& l# _0 b1 e
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    " D' h% p  Q9 [6 U" W& \  e
  145.         curl_setopt( $ch , CURLOPT_URL , $url );8 v) x- y  ~% k% V1 r
  146.     }4 Y8 j$ x% ~$ V; n, P
  147.     else/ r% Z2 ~# G& X) w3 [" t
  148.     {  d- F+ R; C4 L
  149.         if($params){
    / j+ ^% k) M: Y( h
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    & m& j+ h2 O5 g  ?
  151.         }else{. q5 S/ {) i# i0 _- V! r' K6 d4 c
  152.             curl_setopt( $ch , CURLOPT_URL , $url);; r. s0 r4 j* v! w
  153.         }' |! v, a0 C; r' O+ \
  154.     }
    * O. s3 @( ^+ h1 N
  155.     $response = curl_exec( $ch );
    9 w  S- g7 i* b0 t  Y. l1 b$ _
  156.     if ($response === FALSE) {
    1 ~5 b* u% K  c# F, ~  b! [* E  w
  157.         //echo "cURL Error: " . curl_error($ch);
    2 ^1 E# r9 f8 F$ A5 X" G
  158.         return false;
    # N/ F3 D! X* I+ v6 N
  159.     }
    2 `. Y% t; k+ n. u* i
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    : ^+ T5 L6 V- T3 p; C( T/ s; A
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    * i1 p5 I- t% y
  162.     curl_close( $ch );
    & h5 D' w% A# U$ A0 U$ m
  163.     return $response;
    ) F! ]  H2 n1 }) Q
  164. }
复制代码

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