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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
8 \0 X5 {- x5 V  _1.添加商品信息
& X1 X' Q8 W0 J8 c/ e* ~1 f2.添加图片
5 k( W7 I7 J& `" Y3.查询所有产品
, Y' X& a. j' d  B* y: F# `5 U  Y4 U4.查询某个具体产品信息
* d4 k8 G* [0 G/ i9 t5.删除某个产品! ]* h+ b6 V2 O! `' ?
6.删除图片3 ?1 C! ^# J7 ]
7.图像识别2 c1 M5 A( O) F; z! g; \
+ I3 y3 I5 M% m' v* H5 ?
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey
4 E/ h( c* b. g
5 B' T5 z; D( [5 z* f% K3 z! T9 ZPHP示例:: T# [: B2 S  l
  1. <!--?php
    0 ^3 m; H; e8 Q9 D% B
  2. // +----------------------------------------------------------------------
    + F2 o8 I( n9 B5 m/ u
  3. // | JuhePHP [ NO ZUO NO DIE ]# k0 l$ M% p4 A/ r$ A" m6 e
  4. // +----------------------------------------------------------------------
    + V" N2 s" Z3 A2 \7 M
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.3 n( a; |/ @# L" S0 U
  6. // +----------------------------------------------------------------------1 F1 {9 j2 ?3 C8 h6 i* ~4 ?
  7. // | Author: Juhedata <info@juhe.cn-->6 J8 Y% k2 U( R" m
  8. // +----------------------------------------------------------------------( ^- R3 ]0 t( m- }
  9. 6 z2 E7 b+ [2 w* y( v
  10. //----------------------------------) O2 Y% H; B" Y% X
  11. // 图像识别调用示例代码 - 聚合数据: `7 k) ?2 d' T$ M. ~1 _2 f
  12. // 在线接口文档:http://www.juhe.cn/docs/1177 T9 Y& p& ]' I4 ~5 ]
  13. //----------------------------------
    $ s* C3 N' H( j$ b( o/ x" v

  14. 6 }% a5 n* Y. n4 E3 [% W% X+ O/ [% i
  15. header('Content-type:text/html;charset=utf-8');5 U5 ~+ }2 u: o5 E6 I

  16. 5 k: r% v* F; v( A0 G& w
  17.   Y0 _- S, m  L
  18. //配置您申请的appkey4 @, T( P/ s6 M" N
  19. $appkey = "*********************";
    , D9 L" ]& r5 I/ z9 ^

  20. : J- k  ^% `0 C4 L% i4 Q+ K% U
  21. ; j; c3 s# O$ b  l2 o/ o: [5 F

  22. 3 z: W& [3 [7 m6 M' _0 y# P7 A
  23. # o1 G4 X1 ~/ f3 I, T, W
  24. //************1.图像上传************0 X: S' R. I' x% w; _, J
  25. $url = "http://japi.juhe.cn/image_recognition/upload";8 W2 n, Y+ h2 s% p
  26. $params = array(
    ; X6 W% \& s+ L* v) U, p2 z
  27.       "file" => "",//上传的单张图片. I( o% V/ ^4 W  V
  28.       "key" => $appkey,//APP Key
    * Y: B8 `  R7 n; B! O( S6 L& _7 @
  29.       "pname" => "",//包名
    4 _6 a( X% O8 b2 ?" v9 Y  `
  30. );$ i: y+ B- c- q# l
  31. $paramstring = http_build_query($params);
    $ l# L# R& |$ i1 T/ Z: [- i
  32. $content = juhecurl($url,$paramstring,1);
    % T$ m( n% v) k" ?$ t. Q$ F
  33. $result = json_decode($content,true);
    3 G3 O  }/ @# B0 u3 ^$ b% b% Q$ [5 T
  34. if($result){
    + C- I9 _; z0 ~5 \4 S
  35.     if($result['error_code']=='0'){" m* _5 N$ `/ r: Y" J9 T
  36.         print_r($result);9 c% e) ~8 G; B; o4 M8 `4 H
  37.     }else{
    ' K. h% J1 u: Z0 t  e7 [* s+ U
  38.         echo $result['error_code'].":".$result['reason'];
    ! O  c5 T& Z" ^0 @  J( \+ g5 W
  39.     }" |5 j2 u. U5 P7 O$ t
  40. }else{
    5 }5 d5 Z9 O3 [7 J  K/ g4 @
  41.     echo "请求失败";
      y* Q; m* |+ c- i$ k6 J
  42. }
    ( a" P- Y& j8 V$ P3 z
  43. //**************************************************% _3 d9 P3 ?! p# O$ x4 P5 U
  44.   ]* S, C6 R4 s

  45. & e/ ]6 N" B) z+ K

  46. 3 X: o  j7 ~0 m0 q+ S/ `7 g

  47. " F9 N/ o: b3 h4 s' x/ |" u# R
  48. //************2.查寻上传图像信息************+ G' H$ o$ l* B* [9 g
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    7 n: m! Z) V7 w; K9 r
  50. $params = array(9 j: v# O) Y9 e7 W
  51.       "key" => $appkey,//APP Key
    % A1 u* |  @' h- }3 P- `9 }% \% t$ o
  52. );
    . T/ u& c+ {* \3 j8 u6 W' D0 w
  53. $paramstring = http_build_query($params);7 g# s0 o& U, n! I$ t' k
  54. $content = juhecurl($url,$paramstring);; a; U8 S" M8 J+ w/ v" Y5 A; o: e
  55. $result = json_decode($content,true);
    9 x4 T$ V* Y2 w
  56. if($result){4 B3 }4 p4 u- \' O2 E; {% X9 {
  57.     if($result['error_code']=='0'){
    0 Y2 i" Z- O3 ]; W) `5 R
  58.         print_r($result);
    5 [0 ?; V5 R5 }# q/ g' v; r  }! D
  59.     }else{0 i: B" \- }8 K* H! y5 A" c
  60.         echo $result['error_code'].":".$result['reason'];
    9 D7 v( X- N2 Q% H' l) ~. ?9 Y
  61.     }* A8 u# D6 y: G; W; _' O
  62. }else{
    % i6 I5 o( C* D' R
  63.     echo "请求失败";
    / L8 p* ?' K, P6 d1 A6 T$ {
  64. }
    * m" Z. E+ [1 B/ U& n$ b% `/ o
  65. //**************************************************
    0 a" ]- h. o" E5 F8 o4 }% m

  66. , e: R! {/ Q$ h* j! f+ a

  67. + f5 h. M5 }- g; Q
  68. ) s# A. R* h3 y

  69. - _; @, H- s6 i5 J
  70. //************3.删除图像信息************
    5 ]1 J: K) ~! H2 n$ H& G
  71. $url = "http://japi.juhe.cn/image_recognition/delete";
    : c$ x- R* d* V$ z3 T( m" e
  72. $params = array(
    & f8 _" S' ], p& _% u/ J3 y+ I/ p7 m
  73.       "key" => $appkey,//APP Key0 k8 k- _) E+ r! K6 v3 U
  74.       "imageId" => "",//图片ID1 I# K+ q' i3 l( q1 d
  75. );! Q3 r- i; Q9 B; {' g* M9 N, _
  76. $paramstring = http_build_query($params);
    $ M; \5 q( G6 ]- M0 ]
  77. $content = juhecurl($url,$paramstring);
    2 ]3 X0 q$ W( ]' x
  78. $result = json_decode($content,true);( Z5 G1 a! s6 ~9 E& \9 B5 w
  79. if($result){
    2 y* f/ f* e3 b
  80.     if($result['error_code']=='0'){4 U7 y# j  _% x" ]) {  t/ @
  81.         print_r($result);
    - D- z1 t& h8 \. q
  82.     }else{4 e& T. M) {: J6 j
  83.         echo $result['error_code'].":".$result['reason'];1 x6 L/ s* b; p9 ~7 j  h
  84.     }$ J0 l- ]) S) _( k* \  b6 p+ e$ G
  85. }else{
    8 W9 y# O! X  ^+ L  `: |+ e( ~
  86.     echo "请求失败";1 @+ p" Q" U) z6 T% M
  87. }
    3 x! A9 P/ n6 i$ U' W: ?% t' Q  W" O
  88. //**************************************************
    ! a( _3 O. q, l6 B9 A

  89.   c3 i! V9 {) F' G/ X* R: C' @
  90. . B2 P1 ~5 H& D+ M6 `7 {" |

  91. 7 h+ K! h% |. s

  92. . f: P2 i8 u" U. Q9 L6 e. T
  93. //************4.图像识别************# ?" q  s/ J5 C8 y
  94. $url = "http://japi.juhe.cn/image_recognition/check";0 u, [' v' K9 j& M7 a
  95. $params = array(
    7 D( _/ L1 x* q9 W
  96.       "file" => "",//上传的图片7 K- H) G/ p9 v2 V
  97.       "key" => $appkey,//APP Key& b% M, ]$ Z% |3 i. l# k, l& h9 h
  98.       "pname" => "",//包名4 @+ a2 J7 H- T$ g- k- i/ p7 d
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    + e2 o; u! [6 W0 z
  100.       "device_version" => "",//设备版本(如:4.0.3)
    ( @2 s3 m* {* A6 u4 F
  101.       "latitude" => "",//纬度' C. F/ j) k/ `5 P. _8 ~$ c! F
  102.       "longitude" => "",//经度
    : v9 D; u3 `! h- Y; C+ |5 z
  103.       "uuid" => "",//设备id& T2 O' c2 q0 {6 {8 ]8 q' [2 k6 a
  104.       "zone" => "",//请求地区1 m/ l' ~/ e- S
  105. );0 [* t5 p. x7 e& }3 t- k& p
  106. $paramstring = http_build_query($params);( j) {3 k+ D$ r, Q3 j5 ]
  107. $content = juhecurl($url,$paramstring,1);  e& E  P  b" [6 A6 u' v
  108. $result = json_decode($content,true);
    : K! Y; P4 b9 m$ C; I  Z
  109. if($result){$ z3 ^7 w! k$ K5 F) E
  110.     if($result['error_code']=='0'){9 M8 D$ C1 z: a* H" n( ~
  111.         print_r($result);- i# l! v0 Z; ^# F
  112.     }else{
    . A; s+ u+ z' t1 l& d$ ^$ ?- Q
  113.         echo $result['error_code'].":".$result['reason'];. x; |6 _" a# B/ E) l; `
  114.     }
    , P" I# @2 |, q2 t: j
  115. }else{
    $ q9 d4 O. _: t- I4 x% C1 ?! Q% Z# Q
  116.     echo "请求失败";1 Q$ z, `# S- X/ f
  117. }: H% L. X1 F, y& k, Y8 s! n
  118. //**************************************************0 \7 C. \* `. A6 ^  \) H  G
  119. ) B9 x3 a- H2 ]- y/ t* H2 H0 Q: {
  120. 2 w  o( U. f$ Q* B: G" J1 `
  121. / v/ G. v, p  `$ x- a  q  o8 \* U  z
  122. 8 H8 X0 b3 }8 t0 `8 ?4 H
  123. 8 H' f5 S! ]' g  f$ m" n/ @3 U
  124. /**. H- ^/ t$ U, K& f3 C1 C; c' m
  125. * 请求接口返回内容
    6 u' D) f: H* Z
  126. * @param  string $url [请求的URL地址]; e5 [' x7 n: t/ p( ]
  127. * @param  string $params [请求的参数]
    " ^( M& V( ?' t3 z6 A4 O* J
  128. * @param  int $ipost [是否采用POST形式]2 L8 t+ P" R8 A& f4 u4 e3 T
  129. * @return  string5 o, t: }! q" G, m' P6 _  u& l2 ]
  130. */& U8 T6 d/ m# u7 o
  131. function juhecurl($url,$params=false,$ispost=0){& R7 G+ e  W) x* @& v+ I# _
  132.     $httpInfo = array();
    % l- b0 w- X" K( f$ G8 }
  133.     $ch = curl_init();2 e9 q7 u* l& R4 i) d9 G) r7 L- y
  134. 9 x) A* @5 y' w; |" ]
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    1 w# Q5 i; X1 N8 P: M* C# f
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    , I/ }  n: ~% A2 X5 X
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );% W+ t2 K) M8 J* k7 k9 e2 W
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    3 X+ N6 u, S" H+ E% a( W( i
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );$ _3 l0 T% R6 m
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    + r: J( Y* Q- w* k0 O
  141.     if( $ispost )
    $ G/ ]- O& H# E6 g1 s, [
  142.     {1 @6 \* L" E1 C  r* q
  143.         curl_setopt( $ch , CURLOPT_POST , true );1 T! W" L/ Q& r& K
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );# a( e: Y' n2 U1 L
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
    & e! @7 }' r4 d1 J
  146.     }  X: M' m. }1 W9 T9 t; e3 f
  147.     else
    0 S0 |. G' i6 ~3 g! W) H. k
  148.     {! T* |, Q0 o1 X0 ]' g
  149.         if($params){# F, N1 O( t5 X
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    , V9 \( s8 }" h
  151.         }else{3 r: G; J' i7 [' q3 ~5 a: T( R6 [+ H
  152.             curl_setopt( $ch , CURLOPT_URL , $url);! v+ y5 _# u9 v, I0 G
  153.         }, n6 O5 ?; o& {  \9 O8 X4 ^. M
  154.     }/ d/ H, _/ j% k+ q. ^! |
  155.     $response = curl_exec( $ch );& o- b1 ^. q! h1 N
  156.     if ($response === FALSE) {, f% w% B# h% \' B8 t
  157.         //echo "cURL Error: " . curl_error($ch);1 K/ R3 h4 @, \' o8 l  o
  158.         return false;
    ) T- ]% v" T9 ~/ M: @
  159.     }$ Y  ^4 y) l8 y+ d4 }% m5 [
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    6 n* W7 q8 {* a' _9 Q( F
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    + T& T1 |; B/ x3 z
  162.     curl_close( $ch );& \+ V6 C! d2 \8 B
  163.     return $response;
    7 T) S  x$ S7 V7 K6 @) W4 Z
  164. }
复制代码

& ^8 E2 P9 z2 B' [# v9 m; N
1 k1 G! w5 a: c& E
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-5-1 01:16 , Processed in 0.088217 second(s), 19 queries .

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