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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
: c3 G7 t" u: h% G( g1.添加商品信息
2 F" g6 S+ v, L) v/ E1 \- M2.添加图片
+ Q' r" E& r" t- h7 K3.查询所有产品' {( Z% w  @# I! L# Q8 ~
4.查询某个具体产品信息: ^  `  ]$ \& j- U
5.删除某个产品
' o5 N! [/ o5 J2 @* l6.删除图片
5 }; T; ^; g6 }( ~7.图像识别
0 c4 X; `, {" ~- ~
# |9 a6 u4 \# l图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey0 @7 D: V; J$ w1 ~$ D5 @1 Z- V. l

5 k9 H/ u# P) I5 c4 lPHP示例:
( y8 m+ c' }( \& V3 f
  1. <!--?php
    ; i- |% A: _' t% [& }- ^
  2. // +----------------------------------------------------------------------
    ' v, o9 S( F. U$ u
  3. // | JuhePHP [ NO ZUO NO DIE ], L% R: z$ W# W0 q
  4. // +----------------------------------------------------------------------
    : P* X) j3 c6 R* T- l, n  j
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    - H6 q2 |, k5 y$ f1 X
  6. // +----------------------------------------------------------------------( m$ M+ c1 N% K1 [+ w/ s0 Y
  7. // | Author: Juhedata <info@juhe.cn-->/ R0 _6 _8 \4 I& e; I: V
  8. // +----------------------------------------------------------------------
    $ u% o$ }, L% O
  9. - l( y/ \" x. Y# t  [
  10. //----------------------------------
    , r8 B4 N' k! j5 p+ B, }$ z1 Y( x# t
  11. // 图像识别调用示例代码 - 聚合数据8 |8 F0 v# O6 z
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    # n- _- z8 E* l
  13. //----------------------------------
    + b6 C% D. [; U4 ^' P7 d
  14. % g& C: |5 v4 \% K+ P' v
  15. header('Content-type:text/html;charset=utf-8');3 s1 x  G' Q/ q
  16. 4 w) d; i0 @* I

  17. / _3 C/ u5 E6 P. p5 x  _
  18. //配置您申请的appkey$ V/ c, m) D  D: o2 R
  19. $appkey = "*********************";$ p+ \, N! s. T  I1 C! N( }+ a
  20. + m1 P9 C; p; f, W) U
  21.   r3 H, j/ B2 P( _
  22. 5 I8 v" R0 L8 n; Z

  23. 2 V$ e- Z# {7 }: d
  24. //************1.图像上传************
      @# D" D) _9 i/ t! r! q
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    / V% O1 L* v' F* k5 u
  26. $params = array(
    4 U2 E4 @& v6 m- u/ \
  27.       "file" => "",//上传的单张图片
    # D. c( F4 Y  e. k! F# G: b
  28.       "key" => $appkey,//APP Key
    7 W) g9 F; b: k+ P9 T% ^2 H* m
  29.       "pname" => "",//包名
    + N; a, F0 {) e4 K9 b8 x
  30. );& f# M2 |0 E3 ^' S: ]
  31. $paramstring = http_build_query($params);  S6 R3 D, p8 k5 ]* a  [# ^0 x  i
  32. $content = juhecurl($url,$paramstring,1);
    : t& ~$ k2 M& d* }* _- W( t" g
  33. $result = json_decode($content,true);: x4 l% {4 c2 Z1 b
  34. if($result){
    $ ^( J& @& F+ y3 Q# U
  35.     if($result['error_code']=='0'){( W6 D/ j4 E5 Y9 Z3 \/ u
  36.         print_r($result);0 U6 l1 Y& J+ d2 W, h$ }
  37.     }else{
    7 m- n4 g7 z: t" o- x, H
  38.         echo $result['error_code'].":".$result['reason'];
    ! Y# B" ]. Q1 ?6 @
  39.     }
      U2 z) A  X3 J
  40. }else{% ^" h1 T0 C9 B. {8 T
  41.     echo "请求失败";
    + F! J" c3 z9 t, M) |% z
  42. }
      j2 Q" ~9 a0 T( d
  43. //**************************************************1 J/ f5 {2 m& j$ p

  44. / H$ z0 e) _- T" I7 k

  45. / `4 Q7 G! _8 ^! `6 g" a) @7 ~

  46. 7 A5 q. \& _' K5 B( A" B
  47. ( }' W0 W- C5 h+ q0 N5 z% o% c1 i
  48. //************2.查寻上传图像信息************
    # C4 \* f8 N! z
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";. G9 w) c; A! H% M1 H9 k( O
  50. $params = array(2 b) _/ L; t: X% d0 }* n' V
  51.       "key" => $appkey,//APP Key
      I# e$ Z3 A7 W! X& j
  52. );
    " \5 g( v7 x- I: j2 B% f; ~
  53. $paramstring = http_build_query($params);
    3 C; d6 z# U; n' g, o8 K* P
  54. $content = juhecurl($url,$paramstring);3 s, `; F( o6 m, b& x1 [, d
  55. $result = json_decode($content,true);& P2 T! i! {: V$ i
  56. if($result){
      J; I  G, ^/ C
  57.     if($result['error_code']=='0'){. g' z5 q4 n  \  o0 Z: v  g
  58.         print_r($result);* z- J# p/ V. H; O. S7 |+ U
  59.     }else{" y6 h3 |$ ]* R) m& M. \
  60.         echo $result['error_code'].":".$result['reason'];
    ' s# D+ P# U1 R- f
  61.     }
    $ I9 Q6 p2 u( ]
  62. }else{& }* {# g2 y& a8 k& X; C
  63.     echo "请求失败";4 S5 ~! ~0 w7 Z5 L
  64. }
    ; {9 @4 v6 r& b" x8 L3 f4 p
  65. //**************************************************
    / F; E  Z9 V1 ^# L7 x( s: p( H( x

  66. 7 I1 G3 P5 G5 B: V$ G& i6 J8 q
  67. . X2 V* I( N9 D5 Y( J9 C8 j* F2 f
  68. , B. t6 i8 d. P6 a

  69. 3 h" O- r5 ?# D9 ?5 e5 m
  70. //************3.删除图像信息************
    - h) H3 V' [) l- y# e
  71. $url = "http://japi.juhe.cn/image_recognition/delete";
    % ~2 f9 X2 N: L; R' S7 y
  72. $params = array(
    ( g4 [8 N, a5 f- H$ U
  73.       "key" => $appkey,//APP Key
    0 a- f* s" b0 R% N+ r; e3 e
  74.       "imageId" => "",//图片ID0 G, m3 J) k* D. ]; ~  H) u
  75. );
      x1 O( ^8 D2 o2 Q/ e$ H1 Z) S
  76. $paramstring = http_build_query($params);6 Y. a% m  j" D  A. D( W/ I: n+ F
  77. $content = juhecurl($url,$paramstring);2 ]2 A& P" Q7 ~
  78. $result = json_decode($content,true);
    / v$ Q7 e! u; {8 K
  79. if($result){
    " v& [% y; B: z! _( V  |, b  g
  80.     if($result['error_code']=='0'){
    5 h* \: n& K) [+ K' g7 \' w
  81.         print_r($result);
    & u8 t8 a/ h2 Z+ G
  82.     }else{
    7 e4 h, e0 f6 d
  83.         echo $result['error_code'].":".$result['reason'];
    " h0 }6 E" n! U- C* X2 g
  84.     }# u0 E# O! d# d
  85. }else{" D) K+ N+ Q" ?
  86.     echo "请求失败";
    5 ]# |" e) {8 P1 f2 H
  87. }
    6 [* h6 M. c6 ]  q& e
  88. //**************************************************
    & k4 }2 I$ Z# Q/ G; \4 q- U
  89. # A4 u2 {$ l$ n6 k& P/ x
  90. + e( l/ y- y  d6 ]* i
  91. . @) V3 M0 p& k! Y5 }  X
  92. $ f: X) G, z' i
  93. //************4.图像识别************! o& W0 h; E9 \, L
  94. $url = "http://japi.juhe.cn/image_recognition/check";& p# s9 c) ~- O) y8 a. H
  95. $params = array(
    " g0 |% P. c/ `/ f
  96.       "file" => "",//上传的图片
    6 G# Q( r3 t  Q8 P7 `5 L( G
  97.       "key" => $appkey,//APP Key8 x% J( g: x/ P0 ^. p! Y$ v7 T2 x0 i
  98.       "pname" => "",//包名
    , n# _$ b7 R* S, \
  99.       "device_name" => "",//设备名称(如android OS或iphone OS): y, Y5 r1 t3 T  o
  100.       "device_version" => "",//设备版本(如:4.0.3)
    $ Q+ g& |' I) n6 D2 E9 t$ a
  101.       "latitude" => "",//纬度
    5 j3 Q& p5 @! z; L# m+ x8 d
  102.       "longitude" => "",//经度" E& V. T; s/ q1 D" o% A. J" s
  103.       "uuid" => "",//设备id) q6 h) n6 b1 v: _2 Z8 i  M
  104.       "zone" => "",//请求地区/ Z: V8 k& N& \2 f  O
  105. );: U; H  P% t7 v# z5 [" i1 w! M% |
  106. $paramstring = http_build_query($params);1 t! I* G8 s; ]' A; e: P: E2 [
  107. $content = juhecurl($url,$paramstring,1);; v0 G7 ^1 k: q
  108. $result = json_decode($content,true);
    . d9 G- e0 {( \1 W8 l* ]4 B9 \
  109. if($result){8 Z0 k3 X% q8 r
  110.     if($result['error_code']=='0'){5 B$ q8 q. l: y
  111.         print_r($result);
    8 S0 Z. m" H2 N4 e* |9 D6 P
  112.     }else{$ A5 t% \' \- g8 u7 i( s$ P
  113.         echo $result['error_code'].":".$result['reason'];$ C* E7 M1 |. R8 |; b7 G5 Y) s7 o
  114.     }! s* V9 ]+ {& O( c
  115. }else{0 m" ^7 e5 m8 X+ ?" m0 L
  116.     echo "请求失败";
    $ F; i, L9 R% H  t- u! q% y
  117. }0 `% ]) l0 Y: z8 x) {2 s+ C! N
  118. //**************************************************$ I" H7 H" K% X& i4 S: p

  119. * i. e5 n- s! L2 T/ L

  120. ( O+ r0 @# h& {  [* n

  121. : x3 R1 N2 c5 M2 Z1 s1 ^( g
  122. + w; S3 }, Y9 ]5 S3 U

  123. : e2 z2 `0 v" `. Q# W
  124. /**
    1 `( |$ p. h: r9 j
  125. * 请求接口返回内容! ^4 F6 h, m! o0 W+ _  N
  126. * @param  string $url [请求的URL地址]
    % i7 S: b) q$ [: l0 J$ U% O
  127. * @param  string $params [请求的参数]! X: o) k& i, K/ C+ r+ [. C" \
  128. * @param  int $ipost [是否采用POST形式]
    7 @! Y4 \3 J* j6 l6 K, V
  129. * @return  string$ D8 _1 x  J2 B' K' R! P
  130. */
    . h& H. J5 O+ l
  131. function juhecurl($url,$params=false,$ispost=0){2 o+ s5 c# }5 t) B  {
  132.     $httpInfo = array();
    $ r$ n! D4 j- Q2 V( T; h5 s. \
  133.     $ch = curl_init();0 M0 c) c! f5 j

  134. & Z) r; {4 r( I. S3 E
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );" |0 Z8 v; h! [
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );% q; K7 \+ ^5 `% g/ O' X
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    . U) c6 I! h/ j2 _
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);; j& o, }+ W) ]2 R( ?: [
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    * o; |/ r( Z9 G
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);* y4 ~1 r( \7 f# v% y  b
  141.     if( $ispost )" x. Z$ r- v/ u- V0 }
  142.     {  f* U# \# l- x2 h/ H% N/ O
  143.         curl_setopt( $ch , CURLOPT_POST , true );' _' ~! \& f* S2 b8 w
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );9 Q" D# N7 E+ y8 ]( X
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
    5 j1 x- F$ V3 O; C6 R7 l
  146.     }3 ^, ?& Y) D- G" d
  147.     else1 R2 I% e$ V0 q4 S( ~& z8 w3 B1 T! K
  148.     {+ L, c2 q7 q! I
  149.         if($params){
    . \6 R1 ~2 b+ G* U* d; \8 p8 X. R" g! N
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );* l0 p) I/ }: b) G4 n
  151.         }else{
    ; z5 G3 C: W% }3 O
  152.             curl_setopt( $ch , CURLOPT_URL , $url);2 B: q' B) t  F7 I0 Q
  153.         }
    8 `! ^6 B/ v: i) A4 A$ p! n
  154.     }& s3 y" i3 [& u
  155.     $response = curl_exec( $ch );
    $ W4 s6 V; Z- V3 c
  156.     if ($response === FALSE) {; s  A5 w% C+ A4 a8 i
  157.         //echo "cURL Error: " . curl_error($ch);
    ( a9 ]% _- ^' ]# s2 |" U3 ^
  158.         return false;# x. x  U) d: n- Y3 v
  159.     }9 S# S% W3 L! P: f2 i" ]1 m. d
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    - l% f7 Q3 J9 ?5 w) q
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    2 d$ p' N" B1 y) E
  162.     curl_close( $ch );
    5 |) i& ?8 n$ P5 r$ A( M% r
  163.     return $response;) X" C6 H  A2 \: ^( R* P6 m
  164. }
复制代码
3 z* L8 |* _4 V/ x) T- Z/ y
6 j! J4 T% `0 x/ Y
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-7-21 10:30 , Processed in 0.083963 second(s), 19 queries .

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