cncml手绘网

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

作者: admin    时间: 2018-7-8 00:13
标题: 图像识别API调用代码实例(PHP)
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
6 I$ A6 ~1 m0 i/ g8 {! b1.添加商品信息/ [% o1 D: `% C* s# _4 j* g2 b+ ?
2.添加图片
9 G+ v1 B2 `# D3.查询所有产品8 y) t# V4 n3 U- S6 M4 _
4.查询某个具体产品信息2 L" v) M$ A* _
5.删除某个产品
# m/ I) d$ S0 P6.删除图片0 j: v! q2 Z: [; |; O
7.图像识别
: m/ M4 y; H! n$ F1 R! B' o* y* H7 u% n8 ]3 x
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey" F2 v- J" }+ f" m. d  v& m
5 J9 X' H' T1 C$ F: C2 H& K
PHP示例:" e; f& J4 g" r9 K
  1. <!--?php
    ( p* S7 A5 \% {
  2. // +----------------------------------------------------------------------: i2 a0 ^' I0 M# Q
  3. // | JuhePHP [ NO ZUO NO DIE ]9 ~0 d. I, U, ?6 Y% }6 U3 Q9 C
  4. // +----------------------------------------------------------------------" q9 ~4 n& A) N$ C7 o6 p% S
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    4 N+ |) j7 \  u3 g. f! E: K4 d% |6 b
  6. // +----------------------------------------------------------------------
    3 H  b  j4 A' u8 n4 a
  7. // | Author: Juhedata <info@juhe.cn-->
    ( N6 v. I+ G4 n0 s
  8. // +----------------------------------------------------------------------
    . f7 F* V8 p/ Z$ }) O7 Y

  9. 8 R+ R; ~4 v4 ~
  10. //----------------------------------
    0 |2 J; {. e. c. `" p# P
  11. // 图像识别调用示例代码 - 聚合数据
    7 E, o) J4 ^- M, |9 ]3 R" u
  12. // 在线接口文档:http://www.juhe.cn/docs/117* M$ {. s' _  G9 S
  13. //----------------------------------$ b4 R% {/ ]5 K: u/ k  @

  14. ) N" {4 x: _9 U! u; C) \
  15. header('Content-type:text/html;charset=utf-8');, C8 `& t3 l  g3 ?' o2 ~
  16. ' q$ V- k5 E! Z0 P& q
  17.   ]  r9 k+ @8 N) F3 r; H1 V
  18. //配置您申请的appkey4 ?6 g; R2 a. ]) W2 V
  19. $appkey = "*********************";9 T9 h8 V: q# t/ q$ [

  20. 4 A+ \$ y- G7 R
  21. % H5 o0 ^3 e. g: {  ~. B; z" h
  22. * d$ ^( k5 P6 p4 X5 H4 o0 @
  23. - c) X/ l4 e9 e
  24. //************1.图像上传************
    1 P* Y( r( J- w" T
  25. $url = "http://japi.juhe.cn/image_recognition/upload";( S( Q) C$ O! y: }
  26. $params = array(
    2 \: n6 Y7 h& P1 F* @( w
  27.       "file" => "",//上传的单张图片- T& I' B; q7 e+ o# g& ^8 i
  28.       "key" => $appkey,//APP Key
    6 O. B$ x# @! r& E- f* X6 S: a
  29.       "pname" => "",//包名
      A  y! M( ^  l$ W4 P' v( c) Q4 J8 J
  30. );
    . l. e2 B& Q0 N( b. J- C* z& {1 s
  31. $paramstring = http_build_query($params);
    , T/ C- K: H- o+ Z8 ?
  32. $content = juhecurl($url,$paramstring,1);
    , J3 g! y/ ~& G5 b" Z
  33. $result = json_decode($content,true);3 U8 I0 y3 X" g% @
  34. if($result){0 A1 H9 A  p, l) c# ]
  35.     if($result['error_code']=='0'){$ g4 K: ?' }: i) x6 }+ W
  36.         print_r($result);
    $ Y/ E: P$ O0 R: u1 [  ^3 k  R( r
  37.     }else{( w) R$ \3 a) K( e# u
  38.         echo $result['error_code'].":".$result['reason'];7 h* ^. b8 |  y3 v; s/ [
  39.     }
    4 x& R, z; d6 B  u& D3 ]
  40. }else{! x2 H3 z3 q2 q
  41.     echo "请求失败";
    6 R2 e+ F6 `7 J! Q; Q& F" A+ p+ |
  42. }
    6 v/ R; s( G1 W
  43. //**************************************************
    $ H; s: ]# v+ S' j

  44. % z1 L: Y; S  ], i+ r9 ^

  45. ' A/ W. B4 y  s. o5 M; t: O
  46. . z0 z8 u8 O! u8 x( Y5 s$ R

  47. - |% l4 B. v' G4 H- h
  48. //************2.查寻上传图像信息************
    " T" T9 J+ M) Z) `, \
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    " C# V- M, _( Z" N6 }8 a
  50. $params = array(
    * S- J, E: i5 H% L  |5 A! I
  51.       "key" => $appkey,//APP Key0 t( y4 o; F8 e" F, r1 i& P: l
  52. );6 ~7 o# R! h1 y' Z5 _% L& M
  53. $paramstring = http_build_query($params);
    7 b) H% t+ h4 }/ |' b7 t! F" S
  54. $content = juhecurl($url,$paramstring);
    8 N- X. v/ }* E! Y1 L- L
  55. $result = json_decode($content,true);
    * M" S; x  M: |% h8 I- Q. M+ p
  56. if($result){' l  B4 ?6 h0 @
  57.     if($result['error_code']=='0'){
    ! b* z" b) Z  h' h" n
  58.         print_r($result);7 Q& a2 [1 y0 q: j
  59.     }else{+ k+ v5 ~! n; o; m, @, `
  60.         echo $result['error_code'].":".$result['reason'];
    7 j5 G( R0 B( U# W0 u. S1 l
  61.     }
    8 h4 Y1 |" a9 X7 }5 O
  62. }else{
    6 {# Z- S' r# Z: M5 @
  63.     echo "请求失败";8 i8 U5 R9 ^7 S# ~+ V
  64. }2 `* t" H: N0 y
  65. //**************************************************) s) o- A$ Z3 }0 V& y% y2 }0 \8 x

  66. 2 J2 L9 r2 ^9 N( S* L
  67. & z' t8 X& O9 @4 [+ X" C0 S- x

  68. 7 ~7 w, ~! V5 P- ~5 B3 `1 s! v

  69. 7 n3 e+ X7 ]9 ~- z3 ^
  70. //************3.删除图像信息************
    9 t$ Y7 K& u  |5 ~4 f, B5 t% L- U4 \
  71. $url = "http://japi.juhe.cn/image_recognition/delete";7 A, X3 }; O7 w/ _
  72. $params = array(
    / C7 `. u0 v7 A" i# c* l  V
  73.       "key" => $appkey,//APP Key: k* d* ~( g0 Q; s5 ]7 H- z$ n  V
  74.       "imageId" => "",//图片ID
    % v% L- G6 m7 p% Z# l8 I& P
  75. );* \$ k9 x- ~/ _- p& _1 y+ a
  76. $paramstring = http_build_query($params);
    + [+ h; T9 e  t  U, a. z5 i" k0 g
  77. $content = juhecurl($url,$paramstring);
    ' k* t8 a3 @8 l, }+ w, o
  78. $result = json_decode($content,true);
    " \6 B( S9 C+ }! Q
  79. if($result){
    2 S$ m. T+ F4 t" R, e( Z
  80.     if($result['error_code']=='0'){
    - C3 X% p* k( d& N9 t. G5 p
  81.         print_r($result);
    # \7 n& E: M3 t: @. X
  82.     }else{% O; u; p4 Y' Z; O, e0 c+ }
  83.         echo $result['error_code'].":".$result['reason'];
    3 d, k5 @/ \0 o
  84.     }% A9 B  T( ^3 c  U
  85. }else{
    2 \: k0 f2 \5 ?* }
  86.     echo "请求失败";5 e" h1 f+ A: _1 x1 i% D6 _
  87. }
    . B  w2 X. g. R
  88. //**************************************************
    ' C; q4 i* M: q- S* L

  89. * p) A) Y: z3 }* P) v) p, g

  90. & r( l# M1 d$ h& `  f! f9 x
  91. + x3 z; _# j0 p+ @

  92. 3 X8 |/ ^6 O2 l8 D, K
  93. //************4.图像识别************
    & p5 Q: C* h! `+ i8 j- I
  94. $url = "http://japi.juhe.cn/image_recognition/check";: d8 a% v( v# L! R  J, D5 y
  95. $params = array(
    8 C9 n1 f- v  Y8 D3 ?* _  v- C! F! C
  96.       "file" => "",//上传的图片% S4 G# \- ~! Y8 ]$ v; L' s0 x9 S/ X
  97.       "key" => $appkey,//APP Key
    0 b- O3 r3 z: P3 ]) ?% Q2 q- t% F
  98.       "pname" => "",//包名0 ^1 v. C' [; a! I  ?/ r
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)6 M. T7 _. P$ ~* o% r( V
  100.       "device_version" => "",//设备版本(如:4.0.3)* b8 {  _8 R4 M7 G$ q
  101.       "latitude" => "",//纬度7 d1 c5 v& E& [9 C5 O& T+ i/ z
  102.       "longitude" => "",//经度/ R% U9 s5 V4 Q7 l" \4 I* E
  103.       "uuid" => "",//设备id$ b- P& D; t, u; X8 ~8 l) x
  104.       "zone" => "",//请求地区
    , n7 m. W) a5 I5 R" G' |
  105. );) K0 p: z2 I! S9 K1 g
  106. $paramstring = http_build_query($params);: b* j5 Q$ ?( h3 }
  107. $content = juhecurl($url,$paramstring,1);$ m$ F8 O. l: l
  108. $result = json_decode($content,true);/ c- z  v( O& d% V* @6 i
  109. if($result){
    2 ]7 b- N$ v) F7 |) I) y* I& c3 [# h
  110.     if($result['error_code']=='0'){" t+ I6 c/ b; A0 G& a9 W: t# d
  111.         print_r($result);
    : r; h" a+ r1 H- Y  D  P  I
  112.     }else{. v, ]- O+ p) T1 b: B
  113.         echo $result['error_code'].":".$result['reason'];
    . ?0 k& ~) w: F! `0 L  @
  114.     }
    ' Z- E! @8 H- `
  115. }else{* X  Z- Y6 p+ S3 P
  116.     echo "请求失败";
    , Y  q# D/ c" r1 T% D0 m9 j8 h
  117. }
    0 O# i5 ]- s( F; r# `
  118. //**************************************************
      Y1 m5 ^! C, d9 c' M

  119. ; z" s, g' z0 p

  120. - ?/ `6 l" I. w+ x  m

  121. 2 k/ ^% ^0 |% M; T
  122. : L6 P* m/ g' |' e) X
  123. ! W+ s6 \+ ~; h! e: g9 C# r
  124. /**& N- ]  O- r3 N' ~
  125. * 请求接口返回内容4 G8 O9 G9 b) b- C: G2 G' G2 Q
  126. * @param  string $url [请求的URL地址]8 Z" ?2 @1 ^. k' v  e2 ^
  127. * @param  string $params [请求的参数]
    0 C5 I9 X6 ~( M' M/ N: B! c& p+ M8 y
  128. * @param  int $ipost [是否采用POST形式]
    7 U( |4 S1 `8 _8 M. L, I; g6 X
  129. * @return  string
    6 l0 B8 o4 O) {* ]; E
  130. */
    ' t$ i5 V/ l' g% l" z9 q& G
  131. function juhecurl($url,$params=false,$ispost=0){
    3 P* T# B& w& R# W. E! L
  132.     $httpInfo = array();
    7 W, `( S: _" e* o4 H# t
  133.     $ch = curl_init();
    - N8 ]; a( p( h9 l1 t
  134. & \+ w6 r2 o: N5 v8 |5 r2 X" x8 I4 B
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    # T- K( I' O* U& \) e8 |
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );2 p/ G; f3 Q9 E3 y/ D) @
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
      y6 H" ~* l5 u7 Z! L- |
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);) t: b2 M9 X& [( M" Y' z) v% Y
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
      z; O( @5 t$ Q- i! G; H& k
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    : r# s0 p6 U" u9 L
  141.     if( $ispost )
    + v8 B' q5 J) m- C1 Y
  142.     {, F% A# ~' Q- k) C  G5 U
  143.         curl_setopt( $ch , CURLOPT_POST , true );/ U% o3 V4 Q+ t6 j
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    & z0 d: E1 v6 a1 d' _
  145.         curl_setopt( $ch , CURLOPT_URL , $url );  M* k! d8 Y& V9 h2 P& j
  146.     }! B# b5 a" a2 _6 b
  147.     else1 p: _7 F" A7 j2 T6 P
  148.     {
      ^3 t  p) ]. {) M
  149.         if($params){
    & p7 A4 {  K1 @
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );6 I5 Q6 A/ ]7 |5 m( j' [. j1 V$ Q2 F* z
  151.         }else{6 H- S! ?3 }' Z* I; b9 d$ K- T% s3 v
  152.             curl_setopt( $ch , CURLOPT_URL , $url);4 \0 r4 y7 @) }9 M5 ^' z, B
  153.         }$ M: x8 B! u  P: \2 s& a3 C
  154.     }
    / M" i: S+ D- V& \4 e
  155.     $response = curl_exec( $ch );: ?, Y# D# J4 c- ~8 Y: O
  156.     if ($response === FALSE) {
    * L* D, E1 i. r7 N
  157.         //echo "cURL Error: " . curl_error($ch);
    + C3 [  p% Z9 J% x" D( @/ J
  158.         return false;9 |( ]: ]: x2 J! h& s3 H
  159.     }
    0 J9 z$ N) _4 v
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );# t. m8 o+ e6 H! q" y2 J) |0 ?
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    ! O2 h2 T7 P! }0 g% Q8 a4 ]
  162.     curl_close( $ch );
    6 Z7 T' n/ k4 {" f
  163.     return $response;
    ) t6 S- M; g0 O! m$ q! }( f
  164. }
复制代码
' d4 A* D$ N2 e3 [- m# [/ ^( Z
0 T1 f) `1 K9 `$ p1 t7 v4 ]





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