cncml手绘网

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

作者: admin    时间: 2018-7-8 00:13
标题: 图像识别API调用代码实例(PHP)
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。. g0 \7 p: O/ k, G: h6 f
1.添加商品信息- ?: F: L% P* E2 T% _9 ~0 H
2.添加图片
+ H4 [8 i" g, X0 A1 }$ b3.查询所有产品, w' I3 ~! X/ n+ |  ~
4.查询某个具体产品信息
& y, S& k" [  S3 J6 B$ w5.删除某个产品9 H. Y/ l5 v- L
6.删除图片
& Q$ g4 k2 q# G, [7 g4 a; L1 H7.图像识别) b* l2 h' A4 o( |! `5 Z

$ I2 u* |" U( u* |# ~( e: i" ~6 b图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey* t% n9 F! t- W0 f! `. o- R* @

- b0 B3 U5 P5 W$ R- |( yPHP示例:; t3 k3 Q! a% d8 H
  1. <!--?php
    ( D3 F9 b' S+ }
  2. // +----------------------------------------------------------------------0 {% P, d' B+ H/ ^' Z$ D2 e, L
  3. // | JuhePHP [ NO ZUO NO DIE ]
    * c/ s' F- S! N: V; D. H
  4. // +----------------------------------------------------------------------
    / d/ f4 G5 G* b9 S" H
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    % k2 A9 _7 b( \# ]$ Z
  6. // +----------------------------------------------------------------------
    6 c* ]. Y8 U) ]! x3 G! g
  7. // | Author: Juhedata <info@juhe.cn-->
    $ p; r& o$ h' b! X& w% r+ ?' f) b
  8. // +----------------------------------------------------------------------- r, |4 [, [* I( ?1 p

  9. 1 h2 c, t# e& t2 K
  10. //----------------------------------
    , h8 O3 r- C* l! p, J+ n
  11. // 图像识别调用示例代码 - 聚合数据
    # B3 a  f1 y( ?
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    ) F5 J9 z! X8 I4 \6 R
  13. //----------------------------------! |, }9 _; {9 R) b$ U$ T  e, m' X

  14. . T- L( s' X+ }2 s0 w. Y
  15. header('Content-type:text/html;charset=utf-8');) P% g6 |/ F; _
  16. ' E& S- [! i5 H  y; M/ o; g* Z
  17. 7 l1 Q8 H: G8 i" C
  18. //配置您申请的appkey
    3 h+ g9 M8 L' }' U6 F; T) Q3 h  \
  19. $appkey = "*********************";$ ?5 o% |+ ~+ a- y' G

  20. - O% L9 i* P( b1 J4 A0 s
  21. - [9 Z3 V2 I9 g1 u! W
  22. 4 t% |! l% l+ A4 E* T9 r! x

  23. 4 B" }% [! _& T% Y1 W7 a
  24. //************1.图像上传************* i; A& k: H& }6 b, ^  X+ c' S
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    4 h1 u1 |' U  W0 `6 s
  26. $params = array(: A" V% w; A" M8 K' S7 m  b
  27.       "file" => "",//上传的单张图片
    6 U/ w9 v8 c5 Y; ^
  28.       "key" => $appkey,//APP Key, y1 F& I/ o" F3 \2 F
  29.       "pname" => "",//包名; J9 a" G* ~# ~# a; f
  30. );
    + R. t# \* D& H
  31. $paramstring = http_build_query($params);
    0 u- G4 A% d2 ]' D6 Y8 j1 F
  32. $content = juhecurl($url,$paramstring,1);+ t; I- t  ^) J; {* S. F. \, V
  33. $result = json_decode($content,true);
    " R) `* R. u% X$ s6 C( u+ j
  34. if($result){
    1 ~5 p3 T! A5 y" W" g7 M! }
  35.     if($result['error_code']=='0'){
    * u' N. B& B' h5 t, T
  36.         print_r($result);
    ) M( m2 j; {+ d  O" Z# T
  37.     }else{  V+ j) t  u, m* G
  38.         echo $result['error_code'].":".$result['reason'];
    ; F# b% J( i+ |- q- S3 ~
  39.     }
    ( b# B0 R1 j7 L- N. y4 e, F
  40. }else{$ E* g9 l1 D3 x& N8 ^
  41.     echo "请求失败";
    ) L+ w0 o4 d# X# G0 _
  42. }
    * T. s2 |% K8 h1 V5 I
  43. //**************************************************
    5 H( V( U) F$ M/ `8 O
  44. ) [% u; T- D/ N2 m$ ]1 E

  45. . k( X3 G3 s5 O6 F% t
  46. : X- V+ ~3 |: ?# I% P

  47. , d5 l0 V" y2 L) ~/ i% A# _; \, N
  48. //************2.查寻上传图像信息************
    ! ^- n: D2 Q# O) L
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
      O! z% z* a" x% M1 N! `" b! a
  50. $params = array(' u. s2 N/ F: S% E1 J
  51.       "key" => $appkey,//APP Key2 m$ S% V' p' e! f5 _0 X. l6 |
  52. );
    2 i0 _. q  e: R( I- L- V4 ?$ |9 P
  53. $paramstring = http_build_query($params);2 y- b( L2 [4 J+ ~2 s) T+ V8 L
  54. $content = juhecurl($url,$paramstring);9 b, T9 @) H8 p" D3 s  D4 a
  55. $result = json_decode($content,true);) O! O+ a* O1 ^5 V
  56. if($result){
    + r9 k* K# h% [
  57.     if($result['error_code']=='0'){
    4 A, O: A2 @! h1 x1 c3 E
  58.         print_r($result);
    + i! G3 d: q$ M& A  ?+ K
  59.     }else{' J8 q! G: c. X
  60.         echo $result['error_code'].":".$result['reason'];
    7 U3 M+ T! K) u' R8 K* Q+ A
  61.     }
    3 Q( p0 q$ K' T3 f0 p) n
  62. }else{
    6 M. F9 }8 j$ ?3 R# T9 n
  63.     echo "请求失败";0 d- D( _8 d6 P( M  \
  64. }9 S/ b. {* Z  O3 Q1 y/ e2 m
  65. //**************************************************
    5 N) y/ B# P; ]9 E3 N
  66. 8 K( \8 i( B4 ^; E3 g
  67. 5 U, Q6 K: l: A3 d8 b$ |
  68. - V$ I# U% o9 x5 U. F' n1 g3 a
  69. 9 R5 e3 Z7 H% e* b, c- |) e. s; h
  70. //************3.删除图像信息************
    + t' E* }/ r8 G, U
  71. $url = "http://japi.juhe.cn/image_recognition/delete";( k0 s& H+ M5 G3 c' g& M
  72. $params = array(/ Z0 p) s8 R) X0 V, {* G
  73.       "key" => $appkey,//APP Key
    5 v1 q6 U: B! G8 r
  74.       "imageId" => "",//图片ID
    + z, `: m  t4 p4 @; [  l
  75. );9 W7 ^+ y/ n: f: l4 ]. a5 z# G
  76. $paramstring = http_build_query($params);
    8 r6 S* H& T* @, x, Q& z
  77. $content = juhecurl($url,$paramstring);9 @. ]. o7 m, z% r+ C# g
  78. $result = json_decode($content,true);7 s0 V' M$ K! k2 J6 o3 y: s% l: r
  79. if($result){3 V6 i6 F; W5 @+ |& F) v8 m
  80.     if($result['error_code']=='0'){* t: i/ ~/ u* v5 M
  81.         print_r($result);
    2 ^  J, X( y/ n: |/ F$ v3 m
  82.     }else{9 k! u' d3 d; k% H4 y5 Q, ]
  83.         echo $result['error_code'].":".$result['reason'];( I7 o: ?* _. |0 ]# |4 C  ~
  84.     }
    & m- t* e! p% U! \5 \0 c  }9 p/ u
  85. }else{3 x( I( w+ V3 [8 k; s0 N
  86.     echo "请求失败";( M* E$ m; {* s3 K+ c& r
  87. }) V. f7 P1 E% _4 Z9 }
  88. //**************************************************/ n' D% I6 y/ A- ]; V; t: G5 ?
  89. - d" d8 C7 r+ a8 o
  90. ) e% }# a- c8 T+ R' i: X' C

  91. : z; g$ X" u; B/ I
  92. % P9 N- O' f3 c
  93. //************4.图像识别************4 a/ a0 k# J6 g+ n# W3 r
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    ' |% p% y1 \$ B8 V/ I9 i
  95. $params = array(* k: W6 r5 U5 b8 `: W
  96.       "file" => "",//上传的图片$ q2 X) G% e) R/ \, A- O' g. e
  97.       "key" => $appkey,//APP Key4 g9 \* T# l: G! i5 k. p
  98.       "pname" => "",//包名6 z$ }1 Z) f2 M1 `. Q/ Z
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)# R$ n3 h8 V. v" K- t: V
  100.       "device_version" => "",//设备版本(如:4.0.3), T/ c( o: A; a3 x! d' K& `) e# W9 P
  101.       "latitude" => "",//纬度+ I) z+ r7 a% j/ r! }' G9 R7 R
  102.       "longitude" => "",//经度' {* ^+ ~5 |! `  c- L
  103.       "uuid" => "",//设备id
    0 [$ D4 z4 e( S  Y# u3 V
  104.       "zone" => "",//请求地区
    / j. }8 b5 z+ _) |0 k( Z
  105. );9 }. Y# @% ^; l- ~" D$ E1 Z7 u
  106. $paramstring = http_build_query($params);7 C# c5 `7 v  y7 [# z4 y
  107. $content = juhecurl($url,$paramstring,1);
    - a* r4 ~8 \* L! _& d, K
  108. $result = json_decode($content,true);! m% k" s6 N: g
  109. if($result){( e$ M% K$ F( q/ Q0 H9 G% P
  110.     if($result['error_code']=='0'){
    % D0 a% @5 b% }6 A1 ^* v
  111.         print_r($result);
    . K) U+ x: o% `8 y! ]) `  R
  112.     }else{
    4 o$ v/ V" t( j/ M! P
  113.         echo $result['error_code'].":".$result['reason'];1 U7 u9 z5 O+ H6 ^$ C& T
  114.     }
    # C7 n& l- w# |. H( W4 Q
  115. }else{
    * N7 L6 a8 K5 T9 r$ w- F' `8 k, K
  116.     echo "请求失败";7 }5 x+ D3 H/ {, e+ ~: v0 v
  117. }
    % |8 b& h4 O' S0 e( v+ o( [
  118. //**************************************************
    2 B0 L0 C/ A: v& p5 _" v5 @+ f

  119. ! m6 n* Q9 Y: C% _- E6 V

  120. 6 k' T# f! {! n+ @6 v2 q0 u
  121. " u! U' l% ^, g3 g' d7 j/ w5 r
  122. " r5 v/ T- x( z6 s4 n

  123. ! o5 V2 W& ~+ r9 `% U. X
  124. /**
    " m; O; {( ^3 O
  125. * 请求接口返回内容% ?/ q( t9 T( `" [5 c3 g6 C: w
  126. * @param  string $url [请求的URL地址]
    - h" u1 t; S- z
  127. * @param  string $params [请求的参数]. y* e8 E' f; n+ b7 k/ M) }! O, R
  128. * @param  int $ipost [是否采用POST形式]9 `) Z& ~! F7 ?" W1 b9 P
  129. * @return  string; n! p' q( U3 _; S% y+ n& Y: o
  130. */
    * _! I5 ~2 a0 h+ `7 a3 k# H
  131. function juhecurl($url,$params=false,$ispost=0){
    & Q4 [! q7 J/ o9 I% I& F& @( z# A
  132.     $httpInfo = array();
    ' H$ t2 D2 c" t  ]4 y2 b
  133.     $ch = curl_init();' |& x9 P' j: B! {; b: N% i

  134. 1 ]2 @* C) b& L
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    & U2 S. @: `7 C' A/ [0 q) q. V0 ~
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    . S+ N& A; B* p
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    - E" W! h- a% p6 y( y/ N8 c+ Z1 _( J5 L
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);8 n' a, X# m4 Q& t* C
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );9 B" y" ]3 z* ]% y
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    0 O: Y+ s9 A# H) g; [1 H2 a
  141.     if( $ispost )
    . s0 H, w5 P; ~7 j* a! D, u
  142.     {( P0 Q/ D2 o/ B. _. g6 \; s2 E; u
  143.         curl_setopt( $ch , CURLOPT_POST , true );3 ^5 f8 A8 j9 M6 K+ k+ E6 ^8 x* l
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );) X; p! x$ i' h9 Q& X
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
    8 e/ r! o* u% Q
  146.     }0 S" a9 B+ V# }% w# z3 ~' S1 R
  147.     else- \! ]1 _5 t3 F1 E
  148.     {
    ( _" T$ I) |+ b' @) Y2 b' b
  149.         if($params){
    & g$ q3 p8 W6 h, O5 `% _8 d, _( m
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    , O8 X) z4 O2 X8 J/ e( F
  151.         }else{0 \$ y' `# ~1 ^" B9 n# g% g
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
    % \" v, p0 _* N6 o3 p$ n* k9 P  F: S
  153.         }
    ! m0 g- W6 Q* \7 t; e5 |
  154.     }
    ( ?! `4 T% p7 u% x+ @6 Q: n
  155.     $response = curl_exec( $ch );
    4 C  c0 I" g! X( i
  156.     if ($response === FALSE) {
    % j8 U4 w. d% b
  157.         //echo "cURL Error: " . curl_error($ch);+ E: k; ^% |& S. i- F& M
  158.         return false;
    ) e% H, |2 z/ F/ q- h
  159.     }
    $ n5 `3 ?6 n* y. a0 u6 _
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );6 P# D' Z" t8 t+ Q
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    ( r1 T. d& o3 o4 n9 \" Z
  162.     curl_close( $ch );, V7 p) T6 K) g, d6 R* b
  163.     return $response;( h  g  d. M% q
  164. }
复制代码

1 g) P# A( X$ e, i& o6 O3 s1 q7 E' s" @* Y





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