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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
5 H. C% h3 m2 c9 J1.添加商品信息+ y* R& h3 t% D! [2 n
2.添加图片
* z$ Y" W0 C2 }) o. ^; v3.查询所有产品
6 Z3 j  D7 V4 Z/ Y# O5 j0 ~, @9 p4.查询某个具体产品信息) V6 T" a1 A4 \. w
5.删除某个产品# L) \3 ~6 R5 [8 v- P3 S8 D
6.删除图片
: F; }# d5 @: l8 M; y9 F7.图像识别
% Q' }& K+ E  k( N, L$ j
9 T& i9 ]2 T' u/ E图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey
8 o4 i* |& D( u; L! x; p9 O$ s' `3 C
PHP示例:
' ~5 a/ g; k$ ^$ A% N
  1. <!--?php
      U* O, _; g; [' J; y) \/ u& U
  2. // +----------------------------------------------------------------------
    % f  B' n% L, j" C$ i" ~: |
  3. // | JuhePHP [ NO ZUO NO DIE ], ~& g/ c) d1 K3 ]1 Z2 K3 f% v
  4. // +----------------------------------------------------------------------
    ! o* \6 M( F0 J) w: s' ]5 G3 g# Y
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved., A6 r& r; Y& j) p8 i& ?* |
  6. // +----------------------------------------------------------------------. r& K4 B5 H3 k% m/ {$ G, Y$ V
  7. // | Author: Juhedata <info@juhe.cn-->
    # m. x% z7 F! u4 C2 }* r: D
  8. // +----------------------------------------------------------------------
    % C$ b  H# g9 M# N) ?0 n
  9. 2 o' g0 M, A% f6 V* \8 {& S! c% Q! g, O
  10. //----------------------------------# r1 N7 p8 `% L
  11. // 图像识别调用示例代码 - 聚合数据' g4 l9 g5 r. E0 M3 U; X2 r
  12. // 在线接口文档:http://www.juhe.cn/docs/117$ x* G2 a1 d  e
  13. //----------------------------------
    . d& p, F; s' n

  14. # G' m4 u- S$ d) g% T: h
  15. header('Content-type:text/html;charset=utf-8');  M) P' o5 n9 z  R) @$ h6 F8 K

  16. % o# F8 i4 N6 b; q

  17. 4 }- a& G: i, C& S1 v
  18. //配置您申请的appkey8 R; l/ k& [' J
  19. $appkey = "*********************";' R- r5 _, A3 L) ?: p) b; I# J2 U
  20. , X% K* M1 p- n
  21. : s' s- s% d" D* z; O( V  `6 D/ |

  22. 8 e+ p9 `# j# L. e' ^* d

  23. ; T  q* k% u- x
  24. //************1.图像上传************
    ; y8 L* c4 p- A- a) t
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    ( e/ N' ^7 U7 ^5 o
  26. $params = array(
    + b7 M! G1 t9 G, d5 R
  27.       "file" => "",//上传的单张图片1 i, ?$ }! i% w( f. l# [! e
  28.       "key" => $appkey,//APP Key
    ; j* h4 h3 Y' z& L) e2 h+ E
  29.       "pname" => "",//包名) _/ T- l& e+ i( {, E
  30. );! ?) @( c7 w: o( W6 P
  31. $paramstring = http_build_query($params);
    ; s) P0 b$ \/ d4 E- w; N/ R
  32. $content = juhecurl($url,$paramstring,1);
    % s! U2 s7 d& e# z5 n
  33. $result = json_decode($content,true);
    ( Z" G# n: o! L9 |
  34. if($result){7 v- f- r2 M' u
  35.     if($result['error_code']=='0'){
    2 p9 I+ u6 i) w+ o
  36.         print_r($result);
    3 b$ B6 j! u, o: h7 R! f7 o/ S9 e
  37.     }else{8 d- S% ]' l* |+ z+ ^" M
  38.         echo $result['error_code'].":".$result['reason'];
    # J6 y7 ]' A% i/ J* q/ s8 Y0 [- }
  39.     }
    - ~" D) G# J; T2 l- `( U0 i. t5 g
  40. }else{
    0 T% _! S' W! g; x
  41.     echo "请求失败";
    5 r. \4 ~% {" n; w3 @  a1 O5 h2 Q
  42. }
    1 J3 a2 `( G4 e7 ]8 V
  43. //**************************************************2 q0 D, p  T% w2 Y# L$ E0 ^
  44. # |$ I. f- k' ^
  45. - _- q7 J9 N/ A: g
  46. : w  c# s# s$ V! S$ N8 o  ~* J

  47. 7 V) e' }  i4 J! Q" f$ k
  48. //************2.查寻上传图像信息************
    5 t  v/ `) m* @) ]6 f
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    4 }) I+ j" L6 t* C/ G# Q0 D
  50. $params = array(6 M: I* J) m, y4 A! I8 f4 Q
  51.       "key" => $appkey,//APP Key$ ^. G& i( r$ w) n7 j: N
  52. );
    ( Z5 U. y. C- ~: y/ [
  53. $paramstring = http_build_query($params);
    % d: I9 A$ _! @7 q  a
  54. $content = juhecurl($url,$paramstring);
    0 x( g' H" v# S' `5 }. \
  55. $result = json_decode($content,true);
    9 }' e7 P% z7 I( w" W) J+ P/ x
  56. if($result){2 \9 ]1 ?7 P9 I  f
  57.     if($result['error_code']=='0'){
    * a: |& m5 {( ?4 r. ?3 k2 A
  58.         print_r($result);
    1 D8 W  ]5 S9 ?
  59.     }else{& T0 g: m( l1 D& b% Q
  60.         echo $result['error_code'].":".$result['reason'];* r7 H; D0 j+ X, {+ V
  61.     }
    , x% K) w6 R* a& a
  62. }else{
    / k* P1 k$ ?/ Y: C
  63.     echo "请求失败";& l# T1 S3 B, i( f: P+ r* f6 Y
  64. }+ _5 [8 R. h1 L5 j( c
  65. //**************************************************7 N- k8 o- X% X( j- b( o: j
  66.   H+ n0 E, X' r- h5 s
  67. 0 y  m5 x3 d' _% q
  68. # `; t1 K0 M- O' H  }+ Z3 Y
  69. - D( i. D5 b$ t  g* T) K
  70. //************3.删除图像信息************. I$ J8 L, K0 l
  71. $url = "http://japi.juhe.cn/image_recognition/delete";% D- `0 Q  A9 c+ z4 X8 l* i
  72. $params = array(
    : h- t$ f# Q" d3 |' Q
  73.       "key" => $appkey,//APP Key
    ' V/ w0 G; m( T
  74.       "imageId" => "",//图片ID
    1 B& b( m+ f1 H% l6 a1 E
  75. );) S# `7 M3 F/ D: h/ w
  76. $paramstring = http_build_query($params);1 Q8 n0 V! Y. ?  @/ y
  77. $content = juhecurl($url,$paramstring);% \* I# ~1 E3 Q: [& i% i* c0 U8 Z
  78. $result = json_decode($content,true);$ y& G" K/ t' O2 M
  79. if($result){. v7 H1 S& K5 w2 _6 I
  80.     if($result['error_code']=='0'){
    ' ], i+ D* O( C
  81.         print_r($result);
    4 ^- E) g2 ]/ P& f  j. C
  82.     }else{
    " ]& C' I3 t) B8 \/ d2 y
  83.         echo $result['error_code'].":".$result['reason'];
    , E* h1 Z$ Z5 u) R' f
  84.     }
    " o3 I# I* n( i2 K  g1 ]
  85. }else{# u' n) X, \" Z5 @5 v/ K
  86.     echo "请求失败";! }+ @/ s6 d$ v; f3 ]5 @
  87. }) g7 }& t5 ^" y  s8 b
  88. //**************************************************! R$ p: y. b$ Q% U! E

  89. . O# [1 C% K2 a: C0 I: q1 h  C5 t
  90. - b. l1 g' ^" w; U+ i) k/ u" ]6 V
  91. : o, I. u9 t# x  @+ O. s/ }/ @' L
  92. 1 v) {( l. H% X
  93. //************4.图像识别************
    ! ^3 z. p& a9 N% t, j2 p
  94. $url = "http://japi.juhe.cn/image_recognition/check";# r$ P% v' n' R  k
  95. $params = array(
    1 K  I- _% A3 k/ n6 z$ l6 A$ G/ L
  96.       "file" => "",//上传的图片
    + c) |9 Y- G2 t+ G& Y5 |! J
  97.       "key" => $appkey,//APP Key
    $ t- d; h$ |0 {# \2 m: |2 a5 b
  98.       "pname" => "",//包名
    / y5 ?# M$ U/ U
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    & f: N; ?0 [. t1 r. u1 H
  100.       "device_version" => "",//设备版本(如:4.0.3)( |7 w, m; @  @/ D) B
  101.       "latitude" => "",//纬度
    ; q; M' [, k0 w( @1 h5 h/ w; j* G
  102.       "longitude" => "",//经度$ C: Y6 J* R# b
  103.       "uuid" => "",//设备id
    7 _* G3 W$ t5 W$ h  f  @+ f
  104.       "zone" => "",//请求地区
    % S6 l* Y2 a- s+ M# j- Q7 U+ X
  105. );
    " C4 p* T( \' W6 ]
  106. $paramstring = http_build_query($params);
    1 a1 Z* W* `$ z0 d8 U
  107. $content = juhecurl($url,$paramstring,1);' h2 L( C) N( x0 H4 u) e8 X/ ?- q
  108. $result = json_decode($content,true);% J9 X; A* b, N# q  W2 ]( y; T+ W1 i
  109. if($result){7 Z4 j3 _0 o+ q
  110.     if($result['error_code']=='0'){
    + z0 r8 u+ V4 D& B" c* k$ Q$ F7 u
  111.         print_r($result);8 R; I2 z# z) U$ j' e
  112.     }else{
    ! m) F6 f$ M$ f# J' g- N% S
  113.         echo $result['error_code'].":".$result['reason'];( F3 e. J; h( p& L! p
  114.     }5 t! }/ U, A. e( D4 ^
  115. }else{8 _0 ~* n1 }7 W; M
  116.     echo "请求失败";
    ) l! E* F4 M+ o' T
  117. }, S. ?: g1 D' f) h
  118. //**************************************************& C% r- v1 x$ G" h+ w

  119. " d5 m& f( O6 o; K- w8 ^0 W6 m

  120. * y: M( e9 k# M; X7 r' l  d4 ~' l

  121. : e& J$ F+ L3 m! g: @* U) x) J
  122. - h( U' D# e) n0 ]2 _7 X4 ?5 y: O& k

  123. % s5 P. G- b/ z: A9 X
  124. /**: z* ]1 R+ P7 B5 }1 N- [
  125. * 请求接口返回内容
    * D% n/ l. J  W7 p3 c& l0 g( ?# G
  126. * @param  string $url [请求的URL地址]
    ! G7 ]" t" ^$ c* x3 I9 M
  127. * @param  string $params [请求的参数]+ {, c+ s$ e7 }5 |5 _, }. u
  128. * @param  int $ipost [是否采用POST形式]
    ( I* J! g  g: @) c/ }
  129. * @return  string' Z7 }2 I" {! ^% P% B
  130. */
    5 {- t0 M( q6 F' f8 \+ c
  131. function juhecurl($url,$params=false,$ispost=0){. V# R  O: A+ e, A! x! }# Z) x- U
  132.     $httpInfo = array();: ~$ N/ A0 G  P$ g3 E0 E0 t
  133.     $ch = curl_init();  G& O! Y* R- Z9 v5 {& W

  134. , T) I( B+ a; J, i* Q! c6 g
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );0 v4 ]) U' C2 e  j
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    , n( }1 p7 N" ~$ R# \' s
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    2 b0 u4 ?( f( N+ V
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    ' U) U8 k9 @8 m2 ~( ?2 ?
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    / J8 h5 I5 G: I4 o( j& R
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);. }& E: j9 ~7 }' |
  141.     if( $ispost )) ^. Z. \. {. H9 h  N
  142.     {
      x8 }0 V, J/ O  `  s
  143.         curl_setopt( $ch , CURLOPT_POST , true );/ W) O3 I( n) i0 q/ j0 \, K- \
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    6 P0 k& D$ L# Z0 ]5 d4 F0 @7 q5 U
  145.         curl_setopt( $ch , CURLOPT_URL , $url );( e0 e- h. s+ h4 |) K
  146.     }) a/ o7 Q& f) E2 v
  147.     else- D8 M9 R5 F- X% V9 G9 M
  148.     {
    4 X" e0 t7 V8 c( ^/ I5 l1 {1 A$ b
  149.         if($params){
    4 P5 ^: d! }, ~) q
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );+ {' |) b9 x4 M1 y. }; K
  151.         }else{& y3 ]- }5 H: d
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
    9 w4 A! U" u2 z  \  {$ \
  153.         }
    & N: C. p' h' {4 E3 s+ l- p; N6 M% \
  154.     }$ v" v5 S+ P" n; w% G7 b. N% D
  155.     $response = curl_exec( $ch );5 h/ ^& R# H% y
  156.     if ($response === FALSE) {" R  A# g2 ~. N2 C* s
  157.         //echo "cURL Error: " . curl_error($ch);1 r4 @/ ?5 N* j7 e8 C; y
  158.         return false;
    " R! |( V+ i2 s! J! B5 B$ m# t  p
  159.     }
    0 ^7 f: |3 b0 F$ A
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    * ]7 _5 C: e* ^/ s+ x
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    # ?$ F/ S2 ]' x. \1 i4 C; s* ^
  162.     curl_close( $ch );
    2 H4 |% O: Y) g$ S* }& \
  163.     return $response;
    + q) d9 ]! i# s8 _! q+ x
  164. }
复制代码

: n0 ^+ ~) r7 S% Y1 B9 T5 I& q+ w5 ~" u& f. p& p: N+ Y
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 13:54 , Processed in 0.066973 second(s), 21 queries .

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