您尚未登录,请登录后浏览更多内容! 登录 | 立即注册

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 14146|回复: 0
打印 上一主题 下一主题

[php学习资料] 图像识别API调用代码实例(PHP)

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
* o' J4 G  N1 q1.添加商品信息
7 M2 S3 O& @& Y! j" F8 e2.添加图片( L8 [( B* ^  P* X! Y
3.查询所有产品
) G4 f" v0 Y0 j0 }" T4.查询某个具体产品信息, l/ \5 R! k* Q& m0 d7 C0 ^% q
5.删除某个产品
6 W! j" q# w+ V: [% q+ l4 t9 z3 m4 C6.删除图片) D* F% \6 a) [
7.图像识别
, ^3 n2 A) @8 U8 a% Z( u7 p7 r- j5 o9 |# s* _* k! {5 k" h
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey; @8 \  ^6 A( c1 y6 o) R
- M5 V  f: _5 o% i5 [
PHP示例:# D3 M5 _, y6 W
  1. <!--?php0 K/ K  @2 ]; S. `$ i
  2. // +----------------------------------------------------------------------
    # j( `/ q& a0 D4 a
  3. // | JuhePHP [ NO ZUO NO DIE ]
    * b- Y- A9 N" k0 `+ }: q& w
  4. // +----------------------------------------------------------------------
    . P5 x( |4 h( N! d+ J8 a
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    + w( H+ W* B. X+ Y
  6. // +----------------------------------------------------------------------
    2 y) K- r0 ~6 Z& k: p- |
  7. // | Author: Juhedata <info@juhe.cn-->
    5 X3 ?0 }% T/ s
  8. // +----------------------------------------------------------------------( B6 i6 x8 H) r# Q( m4 S
  9. 3 Y+ h8 d& O) t3 G  y
  10. //----------------------------------! q2 I# i8 t' H# Y) G+ [
  11. // 图像识别调用示例代码 - 聚合数据4 O* T7 Q% b: W$ H4 Y: ]: w+ g
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    - n/ _9 N7 R/ x; ]8 |! g
  13. //----------------------------------/ F* r! @9 @$ V# G. a8 }1 e
  14. - J3 O- r# O& q" j
  15. header('Content-type:text/html;charset=utf-8');- g+ \  J: C+ _9 |; a( q

  16. $ n. f4 i$ Z6 N# P7 }( H
  17. 9 t, e) j4 J' L  y$ V
  18. //配置您申请的appkey
    $ F; X: ~2 O; S1 b. M0 [9 w
  19. $appkey = "*********************";
      q: [4 P# G- d0 J" _" s: U( G

  20. 2 K* U- g9 L/ @4 l1 M

  21. ; _; W3 [' e' b* K1 c  j" I
  22. 4 Q0 }& e3 y7 P( {+ }# q
  23. 6 v+ k/ {! W' u' Y5 x( |  @
  24. //************1.图像上传************5 C. q9 Y) y9 b8 a
  25. $url = "http://japi.juhe.cn/image_recognition/upload";3 E: e7 D; ]) y' n. c! d# S. z/ e
  26. $params = array(4 j( @/ o8 X8 P0 o& Q
  27.       "file" => "",//上传的单张图片
    ; f4 B- j! P$ M1 P. g2 l  A7 D6 ?
  28.       "key" => $appkey,//APP Key
    $ Q- t- k/ q4 P7 O/ h# g9 q% Z
  29.       "pname" => "",//包名& t2 v1 V* s. \& P9 W7 `
  30. );+ q7 Y! e9 Q/ ~, b$ G
  31. $paramstring = http_build_query($params);
    1 C/ M5 t) t% `6 ]
  32. $content = juhecurl($url,$paramstring,1);4 \  m8 A# ~) _) U4 R1 I
  33. $result = json_decode($content,true);
    - O3 D  t, s; e
  34. if($result){
    ! T2 R& t6 z  m  G
  35.     if($result['error_code']=='0'){
    1 Q; O3 ?9 m* }0 a
  36.         print_r($result);
    5 I9 F6 b$ Z' R" C
  37.     }else{+ l( v# B# v! W1 j& ]" C. e/ B
  38.         echo $result['error_code'].":".$result['reason'];
    " p% l; P9 p) ]1 y1 [; Q+ k
  39.     }
    $ o# B8 t: ?: @1 W- m( Q8 A# Y
  40. }else{
    8 P' Q7 P  a' a6 O8 `/ K
  41.     echo "请求失败";  @0 V  v& d" l3 {' T9 F
  42. }, Q# U5 x2 T  J, [
  43. //**************************************************1 K( i- d9 u* m) M) c

  44. ' Z( q2 O( H' |  f! s
  45. / L' W" C# W" }* |! M
  46. + C0 p! n1 V( v- F3 {2 o! X

  47. ! C, J  }0 m" m. z6 y# F" k. T: I4 j3 [
  48. //************2.查寻上传图像信息************2 x' J- H! v2 b( C- p
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    5 e; \( ], C" s0 x
  50. $params = array(
    & Q# d% P9 l0 |0 r6 G; p
  51.       "key" => $appkey,//APP Key
    $ F: G9 Z5 O5 _8 [3 Y) _
  52. );0 _/ a9 A- P) k* _) ~
  53. $paramstring = http_build_query($params);8 S* i5 m( W' X! l9 P. S
  54. $content = juhecurl($url,$paramstring);# W$ g7 b$ E; ]$ N; A8 H+ ]9 Z
  55. $result = json_decode($content,true);9 n( u) G# e; N( j
  56. if($result){
    7 M1 t9 ?. [+ W/ t) j! K" X# l
  57.     if($result['error_code']=='0'){
    & _& a4 T- C5 W9 D
  58.         print_r($result);
    # }& r7 e/ y, @' a! s7 K
  59.     }else{* \/ j+ b; Z2 K: c3 A
  60.         echo $result['error_code'].":".$result['reason'];( V" V! J# p8 b
  61.     }
    , u1 s3 d! c  B4 ]1 H" r& {
  62. }else{" n* D' g& z. k  @* z& s0 ?
  63.     echo "请求失败";
    3 ~3 C. s4 a0 u& C8 d/ Z
  64. }
    : |: J" R2 N0 v
  65. //**************************************************  u0 e7 X9 {0 Q5 L9 b$ [; c

  66. 0 v; R& T/ `. n

  67. + x% c" e  J% _' Q

  68. 1 _3 u5 O% A* p9 I; z
  69.   f1 @4 z) G2 I0 j0 d$ A! O
  70. //************3.删除图像信息************
    . C2 g/ E6 W+ R  X
  71. $url = "http://japi.juhe.cn/image_recognition/delete";2 J# B. [0 e5 J/ m7 Q/ }
  72. $params = array(
    9 q5 V& f: \2 G! f! ~" [. h
  73.       "key" => $appkey,//APP Key
    4 }) V# r) N6 K8 p0 Y. h! y2 o
  74.       "imageId" => "",//图片ID  I2 d$ Q7 @7 X, M2 D" D  j
  75. );
    / y2 P, z6 G- |4 J
  76. $paramstring = http_build_query($params);( C5 A, U' B2 f% t$ z
  77. $content = juhecurl($url,$paramstring);
    7 }2 c& i. n& v* P
  78. $result = json_decode($content,true);, q) _# @9 I2 p9 o
  79. if($result){% c6 m- I1 i  y5 T% o: E
  80.     if($result['error_code']=='0'){
    & r/ a& N6 g  E/ m( p# F; M: h* v
  81.         print_r($result);
    " T! g1 }( j9 H) o! Y+ E
  82.     }else{
    ) i9 Q6 }- u. N' n/ w. s( [
  83.         echo $result['error_code'].":".$result['reason'];
    ; p# s3 j; S' @
  84.     }. o3 ]( l& P1 P/ U' a
  85. }else{2 R( T1 P' m( P! I2 ?- p) j' o, r4 ~
  86.     echo "请求失败";
    * ^+ j4 V2 E/ s9 c  ?/ \
  87. }5 S2 l, c- z: F
  88. //**************************************************
    2 F! S% E' T  Q6 L* H# Q) z2 h
  89.   k9 b) ~7 c4 J3 d, w

  90. ) i; R8 I9 \. I" [

  91.   {- G* Y3 }6 r8 T
  92. , r: |/ o7 h8 v- J
  93. //************4.图像识别************
    8 x- ^# ]- X) E0 W* s3 I. A! P
  94. $url = "http://japi.juhe.cn/image_recognition/check";5 R7 D& H, g) ^: i2 n- r
  95. $params = array(1 {: B5 n, ?& `+ M' I9 f* L: q
  96.       "file" => "",//上传的图片
    : t' M4 H) q' S8 J! j) c0 ?/ ^
  97.       "key" => $appkey,//APP Key
    % ~( y- ~6 y- O5 {9 A' @/ b
  98.       "pname" => "",//包名
    ( j  F& E2 w( _. b3 B4 a
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    * ?6 X& X4 i+ Q2 _- T
  100.       "device_version" => "",//设备版本(如:4.0.3)
    # |8 O+ b8 T' k% E' l; I- F
  101.       "latitude" => "",//纬度: A/ U! o' i: F
  102.       "longitude" => "",//经度# n# Z, J$ w3 G" `+ {! x" f9 [; s0 t
  103.       "uuid" => "",//设备id
    & a0 s! `  }' F6 ]0 H1 D& j4 s' O
  104.       "zone" => "",//请求地区
    7 t, V( d( W4 y$ m% o" A
  105. );
    9 c- i& [& l8 ?6 N- b2 J' G$ w
  106. $paramstring = http_build_query($params);4 U% c; x+ a8 N! b) \" h
  107. $content = juhecurl($url,$paramstring,1);6 d$ g0 n' r4 F9 w, c0 N2 R1 C
  108. $result = json_decode($content,true);
    ) N. ~' L1 u# G3 f! ~
  109. if($result){- p& C: I; S0 O9 p# d1 [- \
  110.     if($result['error_code']=='0'){) s$ C! z- C7 v3 o+ p$ [8 i
  111.         print_r($result);( K! l# F, O0 t2 B& y
  112.     }else{
      t% d5 S5 M# I  Z# f; W
  113.         echo $result['error_code'].":".$result['reason'];
    6 W3 g4 ~7 _* G/ O7 S, `! p! v8 I
  114.     }/ T' v3 T: }+ c3 q; |0 C
  115. }else{
    ; `1 k8 x# x2 h, O) A& [
  116.     echo "请求失败";
    * c/ z" n+ w& j0 ~# P" q1 m
  117. }
    . u7 O0 F1 H! n! X0 `
  118. //**************************************************
    0 X! K5 K+ o, p* V

  119. 6 ~, [  q  m& B! ^& O' ]% i  m

  120. - N; q. V' ]/ v6 T

  121. 0 S2 x3 F, s! g
  122. , `4 f" f& v1 P! O

  123. ; d  H: R+ _) }: Y- U
  124. /**8 u2 J" @3 r/ x, B
  125. * 请求接口返回内容1 \2 e% h1 _7 W& x" N0 ~3 E. ?
  126. * @param  string $url [请求的URL地址]
    - W; j3 [) p' }5 j, M0 E- I) q
  127. * @param  string $params [请求的参数], k  Z0 P7 i. L6 n0 |/ g
  128. * @param  int $ipost [是否采用POST形式]2 k1 Q, J. ]3 s9 `( J& t
  129. * @return  string
    - N4 p) w, q# u- J) h9 c
  130. */
    ! r: ]3 d% j+ r7 x6 i
  131. function juhecurl($url,$params=false,$ispost=0){
    " B# N$ K! i: [: @+ ]
  132.     $httpInfo = array();, c* [6 g: I1 }2 I( \
  133.     $ch = curl_init();
    ! E: u$ D& K/ X; |7 j4 o

  134. 6 ~3 P' _0 _, }, |2 O/ O
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    " b( v7 g% L3 l0 L  z# r, F: \
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    8 {; K' p# j6 O( I
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    + }" Q) D/ E4 c) A
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);' A! A5 K0 A" f/ K7 Z
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    9 c9 e- t1 I6 g6 [" n9 W2 ]
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);: p) H. S( c. y6 r9 H* e6 u
  141.     if( $ispost )
    , X4 w: [" q8 C) ~/ ^. f" I3 u8 R  G
  142.     {
    $ C. p8 W; @5 b! K) @( e4 ^8 B
  143.         curl_setopt( $ch , CURLOPT_POST , true );
      d$ ~; l7 b5 Y. E8 d, F
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    $ T' p( X: y9 V+ z- i6 e& c
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
    7 a" p0 T4 Q# T; Y+ H7 Q
  146.     }
    2 e6 P$ t% ^2 v# g1 r
  147.     else
    # M8 d/ i, b7 U- r3 I" l0 N
  148.     {
    ! K; E& u, L! G4 ~) M* }
  149.         if($params){  u* Y2 C/ q  q0 N: L3 y
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    0 q7 d- e7 j% \9 g
  151.         }else{
    ) {/ d% S$ N. b1 q% D3 }
  152.             curl_setopt( $ch , CURLOPT_URL , $url);: T, |9 `) H% ]
  153.         }5 r" I) p0 }+ |$ F, J! |
  154.     }
    / e7 ?  U: |9 J- {
  155.     $response = curl_exec( $ch );2 }9 C  i2 N5 l
  156.     if ($response === FALSE) {$ k- w; r- w! g& M8 c8 D
  157.         //echo "cURL Error: " . curl_error($ch);
    2 m5 n$ s, A  g6 [: M0 P
  158.         return false;
    & C2 }' ^' P8 C( e' Q
  159.     }
    # [* p5 ?% @2 G: y! C
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    - q5 q8 P3 _$ ?! A. S+ N0 i& _4 u
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    6 A& h5 T  C& ^0 @- @" B
  162.     curl_close( $ch );
    4 d/ ~* S% T" o5 ~' a8 i' S& [
  163.     return $response;4 u: W0 a; X" J7 c  |
  164. }
复制代码

9 X! l' r: a( g! F( e: W1 j9 R1 ]1 @, |2 {* w) C" X: f
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-6-20 04:35 , Processed in 0.066552 second(s), 19 queries .

Copyright © 2001-2026 Powered by cncml! X3.2. Theme By cncml!