cncml手绘网

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

作者: admin    时间: 2018-7-8 00:13
标题: 图像识别API调用代码实例(PHP)
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。$ j8 k0 g2 n: M+ X& i7 }% }0 h
1.添加商品信息( ~1 _* G6 I9 \* Q
2.添加图片8 e1 V' g8 d4 M" @, W8 p4 D
3.查询所有产品
3 [1 z, f2 }0 o/ ?/ |: r4.查询某个具体产品信息
/ u% ?; _) I& n9 @: j% e1 i5.删除某个产品  h& X$ |2 [' U8 p( h( |) b
6.删除图片
* ]# |' d! h$ @! s7.图像识别4 Y: E. p4 r: [" V9 ~1 x

: H: a4 O) i- }$ G+ ?图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey
. U8 u* ?& m: _3 |# B& T* F
* A4 d3 G8 F  ]# [7 y, o8 G* aPHP示例:& C, D* R- D' M8 w1 i/ o* G
  1. <!--?php; Q" r. S2 m- P* H' b: I" m
  2. // +----------------------------------------------------------------------
    / j1 y$ J+ \- f& b1 w
  3. // | JuhePHP [ NO ZUO NO DIE ]( e- x+ c+ v7 T$ \3 [- l2 s
  4. // +----------------------------------------------------------------------
    " [9 `- I/ ?5 K2 C& }0 @
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    8 l; y. U% X) I) Q/ a; k
  6. // +----------------------------------------------------------------------$ w7 m5 m/ G$ J6 Y" k- l
  7. // | Author: Juhedata <info@juhe.cn-->( x$ j8 r  G. O7 ^+ ~% {3 k
  8. // +----------------------------------------------------------------------! q6 s. }7 X) C- p; W# x
  9. 9 S- t: ^0 J" ~* i  X7 ?
  10. //----------------------------------* y. b9 g9 K+ h- w. ~# E
  11. // 图像识别调用示例代码 - 聚合数据9 o, O6 s- K. [7 S
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    * l3 |0 s5 x2 H% \: Y3 R. `1 w
  13. //----------------------------------
    3 ?, h# w  L- _/ J

  14. 1 j7 w. ^" q$ b' K
  15. header('Content-type:text/html;charset=utf-8');* M3 @; i9 i# f* }) {3 B

  16. . `" q% j2 W5 n% |2 v0 q
  17. , T* v; A. {2 o
  18. //配置您申请的appkey9 r. y  X, b3 Q+ K
  19. $appkey = "*********************";% V2 v4 @- F1 o/ V' N

  20. 1 F8 g6 p$ S3 p0 a$ ^0 H

  21. % ^& L. t# d- k' W; g

  22. ; H% |: z0 _0 V/ r

  23. * a1 ?2 d4 I+ `# s0 q" F
  24. //************1.图像上传************3 l. L5 ]# _! e6 `
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    9 i8 @- V4 r0 _9 {% `8 S
  26. $params = array(9 @. U+ [3 [9 g* P: Z4 F/ P" }: G
  27.       "file" => "",//上传的单张图片
    0 o' T: T1 X+ |2 z. Z0 W
  28.       "key" => $appkey,//APP Key$ U5 {0 y8 B( W
  29.       "pname" => "",//包名
    5 w; u% w/ I" q# O+ w! p
  30. );( d# K% H( q& _. V7 I2 ?+ K
  31. $paramstring = http_build_query($params);, }; Q$ F& H7 ~4 U* B7 U
  32. $content = juhecurl($url,$paramstring,1);# N4 Z/ W! n9 U% ~
  33. $result = json_decode($content,true);! C( }: U3 ~# _: }0 s
  34. if($result){* F% w0 g+ d+ P7 }
  35.     if($result['error_code']=='0'){$ G- U/ i; c. o0 }% U/ \0 `9 I* B
  36.         print_r($result);
    : N  m/ _) {& u" v/ f4 f8 u0 s
  37.     }else{9 c6 P1 J6 d+ z% a$ J
  38.         echo $result['error_code'].":".$result['reason'];+ ]# C+ M& @: k" R( C
  39.     }% _1 |( h) W3 {0 A5 y$ _
  40. }else{
    7 s: K2 ~8 e: x) I& a2 Y" @6 D) `) q
  41.     echo "请求失败";* K2 q# T6 M; }0 s, o
  42. }
    . [5 D( q5 c" o) o3 c3 c
  43. //*************************************************** U% ^7 r. \# M6 Z; }. }

  44. ) `. J% z" J1 k8 ~9 ~
  45. 9 K% Z  @3 J' E6 }. ?6 V
  46. . T9 Q2 D: Q- E
  47. 2 r# X. g% v/ `% l' B' ]
  48. //************2.查寻上传图像信息************
    1 a6 E9 l# D: n6 U/ M: p
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    6 z8 w2 I: a" n& E
  50. $params = array(
    . H1 D, O  J5 l4 A% t( ^; z
  51.       "key" => $appkey,//APP Key* @& V( ?$ t: d# m( g0 u9 }
  52. );
    2 ~1 P2 Q- }$ F
  53. $paramstring = http_build_query($params);
    ' q. D6 Q/ A) L, B4 T
  54. $content = juhecurl($url,$paramstring);/ ~& S) S; P7 z' \- r  N/ k* v
  55. $result = json_decode($content,true);4 P' v8 \" \- ~+ L3 Z- R
  56. if($result){* O9 q  Y& Z- Z3 g  I
  57.     if($result['error_code']=='0'){
    + {! R  z  Z/ B
  58.         print_r($result);1 U, f$ g8 Y( `/ j
  59.     }else{
    3 C/ h  A# Q' c: a
  60.         echo $result['error_code'].":".$result['reason'];" x! o9 K4 X! j
  61.     }6 N; }$ A5 w+ E' w$ Q/ N( d. ?
  62. }else{0 \9 e* L. A! b8 O; o# d' u, G$ I
  63.     echo "请求失败";
    1 V. M0 Z& C  e0 w2 e7 I2 h% g
  64. }
    9 n2 `  o* ~7 s9 q+ p- _
  65. //**************************************************) a1 E* ]: x; }7 ^
  66.   f2 c) y: B, j, M
  67. ) [  K6 s8 L& t  T
  68. # c* M# y8 g5 B' Y7 _2 a, [/ f& |

  69. # ~2 C1 R" Y) m) M" ^4 ~: N9 Y
  70. //************3.删除图像信息************
      j. m9 `8 g1 k
  71. $url = "http://japi.juhe.cn/image_recognition/delete";4 s" @& w  s3 Y, {6 b$ G
  72. $params = array(0 B* \3 i" ?. V2 s# V. `
  73.       "key" => $appkey,//APP Key, A1 ~: T4 ?3 ?/ |: P! H
  74.       "imageId" => "",//图片ID; |. U* n. D: Q- b$ Z% c( z
  75. );
    3 n3 _9 Y" |- e4 Q* b
  76. $paramstring = http_build_query($params);
    , |; |( T. [2 K& I( k6 o( z. {% D: e
  77. $content = juhecurl($url,$paramstring);  w' M" F$ I% [3 s- U; u' S
  78. $result = json_decode($content,true);- t( @; q3 e% b2 `! Q  s
  79. if($result){
      }+ u; R- n* L4 s
  80.     if($result['error_code']=='0'){; Y9 v2 T/ s, J/ l
  81.         print_r($result);
    4 h8 v1 p  B% L1 q( d
  82.     }else{$ M8 t1 |; h4 N
  83.         echo $result['error_code'].":".$result['reason'];
    - a* P1 P( g7 M/ N3 Q
  84.     }
      \, \4 r1 z: a' S+ m
  85. }else{% \9 s! }/ d) l3 y0 K! l3 p' f" J
  86.     echo "请求失败";
    $ D! n; [: J4 j7 z* h) I5 g- D
  87. }5 K. u" d+ ]% f+ {+ s
  88. //**************************************************! W; L  E8 b, z* N* o
  89. + B" `2 i5 z. O
  90. ' }3 i, N8 _0 j; N( A3 K
  91. # l. _& C7 Y5 j1 A* t' T

  92. 5 L3 t1 D! {* B, a7 Y+ u
  93. //************4.图像识别************
    * s7 U/ l" w) U
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    4 O! \7 J9 j: p) f- k0 D) _
  95. $params = array(
    1 }1 \, c7 Y& d0 b9 n
  96.       "file" => "",//上传的图片1 E6 n' o5 P: J
  97.       "key" => $appkey,//APP Key
    - y2 \3 F3 H5 x# t" r5 M* M
  98.       "pname" => "",//包名
    ; D- Y& u2 |" t4 l
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    " W' v, W+ O1 x( e
  100.       "device_version" => "",//设备版本(如:4.0.3)
    5 `2 ^% f7 M3 z* R
  101.       "latitude" => "",//纬度
    + @! k( a. `9 S/ i& c
  102.       "longitude" => "",//经度# p. z! K5 H1 I! K0 p; s& N$ X
  103.       "uuid" => "",//设备id
    : b& i. F1 P5 G- X$ ~6 s8 H
  104.       "zone" => "",//请求地区8 i, ?8 M6 l* b2 K
  105. );
    8 z* e: G1 J4 ]: O9 f6 g
  106. $paramstring = http_build_query($params);* _7 ~0 r! G" e: a; y
  107. $content = juhecurl($url,$paramstring,1);& S2 w. ^! m& f3 U
  108. $result = json_decode($content,true);
    ; V, w9 R$ C/ f$ k
  109. if($result){
    # L  ~6 X7 m+ L( @+ P6 c
  110.     if($result['error_code']=='0'){
    6 r, H8 C. X* ]9 b$ B
  111.         print_r($result);
    * s: h% u% E0 S  Q& C
  112.     }else{
    ; n( |3 t% `; I5 V  S: w
  113.         echo $result['error_code'].":".$result['reason'];
    9 D: M3 ]  ?0 e: V3 O5 E
  114.     }
    ' [# V% P- L8 m1 o+ h4 R) S3 X; \
  115. }else{
    1 j" u: E5 ^- e; R, U
  116.     echo "请求失败";
    . z0 m& z" C, H) ^3 D1 }5 g
  117. }: @3 a* h0 I/ {
  118. //**************************************************
    # B! V7 w- O  G% O( k6 X, \

  119. 4 ?. r; O" t: Q# N- v% w

  120. : O6 M  o: Q0 D! q. ^

  121. 3 A  V- L4 J$ r( M
  122.   k! j" l% z' |( d. ~2 c9 x4 G
  123. 4 T. f4 h( a& f; m2 L7 e5 c
  124. /**# \' s! k# q* H; A* ?2 {
  125. * 请求接口返回内容
    ' e: S$ n: S( M* ^3 T% F
  126. * @param  string $url [请求的URL地址]0 `7 t0 B+ H; Z
  127. * @param  string $params [请求的参数]
    9 l2 I; k+ W- e% X4 c* P
  128. * @param  int $ipost [是否采用POST形式]
      Y  r9 h: I) f' J3 [$ O0 L5 a
  129. * @return  string4 W/ ]3 A" c1 V( N
  130. */, f+ `) {: T5 T- q
  131. function juhecurl($url,$params=false,$ispost=0){
    # b1 D0 \( `/ ?5 q  r
  132.     $httpInfo = array();
    + n. ^* e: ~0 R+ q2 s( h7 z
  133.     $ch = curl_init();
    3 S/ A' v: e6 y- L

  134. 0 k1 b' S. o) O2 d! ?; ^
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );" s7 G) Q, v" u- C  C/ j
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    2 s* y+ _5 _# V+ l. _; ~0 r
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );* }: c1 \1 t( S: E6 G# x
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    7 d( B$ K3 s  p! @3 O
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    / g; Y. h7 z$ |) C  n9 ?0 c" f
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);8 r) s, f! b5 P$ H' w4 \% ~
  141.     if( $ispost )
    " o/ S" K7 f% `0 ?7 X
  142.     {/ L% c5 J, R% C- f
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    ) c% e6 C( X) ^9 S6 S) w% D
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );1 @( s7 Z  e' L, u' w% [
  145.         curl_setopt( $ch , CURLOPT_URL , $url );: ^! d- j  u/ W2 S: g3 T* s
  146.     }2 g7 U8 r) {6 _1 j
  147.     else
    4 o3 h0 S& _7 e2 o4 |
  148.     {
    3 A( P5 a! H/ P# D6 [+ s- {8 k0 e4 b
  149.         if($params){
    / H% {3 x. p9 z6 c& z$ P
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    + V" D9 D% r% V
  151.         }else{
    . T" s+ [4 c# a/ I, ^' ]
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
    9 W4 i( |( x8 k/ t, ^  D! F) w6 e2 G* j
  153.         }6 _8 Y8 E$ q9 Z9 g% [
  154.     }, M' Z3 S0 D; T
  155.     $response = curl_exec( $ch );
    5 }0 @& F% Q0 @9 N' r+ ?
  156.     if ($response === FALSE) {% f! s% s, k# e! c
  157.         //echo "cURL Error: " . curl_error($ch);
    & o7 x. S' K, `; s9 @% P1 m- r
  158.         return false;3 |: k) ~4 g, y
  159.     }; F1 D$ q! K  m$ h8 P
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );5 \: J) R% `' X2 g, H
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    ; E+ v2 L5 @( {' T
  162.     curl_close( $ch );# U- ^0 V: ?% s$ @) x0 Y
  163.     return $response;5 l- Z* K  M: J! R) b2 i
  164. }
复制代码

8 f+ J  V  n6 z1 |( q, E# k5 x7 |4 \' }# G+ Q





欢迎光临 cncml手绘网 (http://www.cncml.com/) Powered by Discuz! X3.2