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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。+ t0 @. s! o: @. o% M7 c6 P
1.添加商品信息& c5 |% J- \; g. P
2.添加图片
- B- m5 q5 B7 @* i7 w3.查询所有产品
) J' j2 @8 L9 f- A% F4.查询某个具体产品信息
' V1 |' Y3 W% F( O% S8 a5.删除某个产品
7 G9 u4 ~4 S) `6.删除图片8 N; w& B" U- }2 V$ |
7.图像识别
" \0 F0 I/ I# n. C! y
2 C' Y2 t- ^' c2 w1 I图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey
; n2 @3 w; r9 X6 U1 v3 {4 \0 u# u; U$ `7 W& U/ t3 H
PHP示例:
! C% M9 g2 K( p# Q
  1. <!--?php& L, P) m5 k* ]  s/ [/ i2 k: Z
  2. // +----------------------------------------------------------------------
      g( {  u, g+ f" k
  3. // | JuhePHP [ NO ZUO NO DIE ]: i: K0 L9 u; ?1 {6 `$ |" e
  4. // +----------------------------------------------------------------------/ X  _" g" \! r2 P& v
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    2 w( a( l, \/ D2 e% }3 i& v
  6. // +----------------------------------------------------------------------3 P8 x2 Y% N$ F; d
  7. // | Author: Juhedata <info@juhe.cn-->
    / k# K5 h& C5 t8 w+ F+ b  X4 Z
  8. // +----------------------------------------------------------------------
    ; I' V# z: ~8 i, v, a

  9. 8 x1 i, g) G! v; B7 X
  10. //----------------------------------9 L' z0 r: D& ~1 w
  11. // 图像识别调用示例代码 - 聚合数据
    8 B5 |+ V9 g8 \; \8 {) P
  12. // 在线接口文档:http://www.juhe.cn/docs/117( r- Y9 Q- }! {9 [3 K
  13. //----------------------------------
    6 h' V) o7 Q& _
  14. ( i! F  m& J; {! [+ U
  15. header('Content-type:text/html;charset=utf-8');* d% p- {' u3 a' I! N

  16. ( M. C; O, t( n% l/ y
  17. + z; ?, T' l; J
  18. //配置您申请的appkey
    - S2 O5 Z+ c7 q  v' f8 [9 ^
  19. $appkey = "*********************";
    3 x3 I4 W, j( w
  20. " m! d3 b9 v  ?3 L* }

  21. 5 l) Z3 S" h: d! }

  22. - {7 `/ K8 L% k) @& O* x7 \/ {
  23. : z0 X, k1 U% D* P/ O# W9 H0 t# `
  24. //************1.图像上传************. W; s( W# o' o, B% I6 W
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    * C7 I. y  q8 x7 g+ A0 S
  26. $params = array(
    + G$ h, o$ I5 z, w+ {
  27.       "file" => "",//上传的单张图片; b1 F! |2 j8 H: H, q4 _1 r
  28.       "key" => $appkey,//APP Key* J( z5 q% z- n( M
  29.       "pname" => "",//包名
    " H. H+ C9 ]* e7 \2 _5 _
  30. );7 Z' T  U5 ]- c+ T; f. x: w
  31. $paramstring = http_build_query($params);! `0 [* Z% c( W/ h
  32. $content = juhecurl($url,$paramstring,1);
    # k( }& C5 U4 D9 H
  33. $result = json_decode($content,true);" |  i) z  r# u1 b+ e! W, [
  34. if($result){
    ) n1 W8 e& t( B
  35.     if($result['error_code']=='0'){4 b0 z( m% Y$ C2 @9 y
  36.         print_r($result);  O% k; x( _5 p3 H$ Y1 g
  37.     }else{  J; `& U* W4 y0 ^
  38.         echo $result['error_code'].":".$result['reason'];
    # Q5 g, a% |, r
  39.     }
    * A* J4 ]3 z! K
  40. }else{- b: m3 P8 V2 u; ?) d
  41.     echo "请求失败";
    4 h, |0 W% p! e
  42. }
    . I( U. @6 }- p: S" d
  43. //**************************************************
    7 X: e0 g! u! l  l
  44. 1 J8 \6 `  R8 R2 j" Z

  45. . V  ^: x, O; E" |

  46.   `$ b8 f1 e4 \5 E+ @+ I: u

  47. ) R; @! R: Y. j6 z
  48. //************2.查寻上传图像信息************9 X0 j4 k6 E" r2 z% G  Q
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";" R) {0 a. ^2 z' }" w4 m' A- r1 z- u
  50. $params = array(, h2 R8 K8 ^. }( Y* q/ j8 L' N
  51.       "key" => $appkey,//APP Key
    4 M, ]/ z8 Y8 i3 o* Q
  52. );
    ' K) ?. g' c  Q3 `
  53. $paramstring = http_build_query($params);* G- j: q. A9 ]. {: j1 M! z
  54. $content = juhecurl($url,$paramstring);
    , V: Y+ ?0 \3 a5 ?
  55. $result = json_decode($content,true);
    , y+ [8 Y6 O" L5 S
  56. if($result){
    2 h# p0 y. R' c
  57.     if($result['error_code']=='0'){
    6 E: L. d0 T1 }  i1 T
  58.         print_r($result);* x5 D- c( m! u/ m7 k9 R5 \, K( l
  59.     }else{# x5 T0 c# a6 L4 Q6 J
  60.         echo $result['error_code'].":".$result['reason'];! c/ W0 T: \( l* d( F
  61.     }/ F: p4 h. K+ z8 n! q# Q
  62. }else{
    ) ~% Q  O0 ?- l
  63.     echo "请求失败";
    5 |* D* E9 p' M! k$ a
  64. }+ y* \* Q2 A! j
  65. //**************************************************0 t4 _! h( t* |! p
  66. % ~9 y* O, k8 v. S4 p
  67. : w: o( _' c. J: E

  68. 2 S2 R0 w" I7 R, |1 u
  69. 5 ^# U/ n$ k% `' \* G- P: O
  70. //************3.删除图像信息************
      d) y' h- \" Y+ }  _
  71. $url = "http://japi.juhe.cn/image_recognition/delete";4 N% L! r# d7 ~; T4 P( q
  72. $params = array(
    ; u' Q5 Q+ m  a! G- k2 h( o- s
  73.       "key" => $appkey,//APP Key1 K2 o% P& J3 w5 l6 q% B& h; d
  74.       "imageId" => "",//图片ID
    + a& w+ l/ K) e9 k) j$ w# g
  75. );
    ; O1 I) d" K5 K5 T5 Z
  76. $paramstring = http_build_query($params);! N6 J  v. m( k& }$ w8 N! n4 B+ c
  77. $content = juhecurl($url,$paramstring);
    # s+ |: R4 [6 g# h# A, E$ e
  78. $result = json_decode($content,true);
    2 p; G- M  s6 K5 `  P, o
  79. if($result){; Q& h. }: ]* @
  80.     if($result['error_code']=='0'){. w8 r9 E3 Z$ ~! M  S
  81.         print_r($result);5 i6 F' N, g7 h: I2 r8 f
  82.     }else{; \* Y; c' U$ W  a6 b3 [
  83.         echo $result['error_code'].":".$result['reason'];
    5 H5 y4 k6 C* ~0 E1 N
  84.     }
    0 ?; k8 Y+ F2 B7 O# L( n& U
  85. }else{
    4 _: P% L: r8 Q
  86.     echo "请求失败";; E; a9 I$ E/ k" J9 |
  87. }
    . ^0 Z9 q. T2 S+ x& o4 }: \
  88. //**************************************************
    - Q2 y  K) N$ y: {
  89. # a% ]$ P% F/ b4 I( C- V
  90. : u6 m: c' B$ n
  91. " C4 n# t( {! j* j/ \8 g8 x
  92. + t1 a" c7 C3 u* e# i
  93. //************4.图像识别************8 b  `2 Q' K% N6 Y+ p
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    3 k' _; j) D& y4 U
  95. $params = array(* T  S9 J+ @& f8 v$ y( c
  96.       "file" => "",//上传的图片
    " Y" q, _- q% b3 v
  97.       "key" => $appkey,//APP Key
    * ?' W, F3 h, e" J9 B) m) F' U6 i
  98.       "pname" => "",//包名
    1 G7 `! ~- P6 I9 V7 e
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)7 j4 B$ h" p& C3 P  s4 Z% D4 r
  100.       "device_version" => "",//设备版本(如:4.0.3)
    " {" h: t' c; i: n& K- A
  101.       "latitude" => "",//纬度: o* M; }( P; ^- Q  l/ q
  102.       "longitude" => "",//经度* \# N! X! |2 s9 w, ~, I7 @9 h
  103.       "uuid" => "",//设备id
    " C( y' y8 Q' d' t4 k
  104.       "zone" => "",//请求地区" J4 a1 z$ e' v
  105. );
    3 z/ P. ^( [* P2 y# ?
  106. $paramstring = http_build_query($params);4 q- y# g$ d4 D9 T1 V
  107. $content = juhecurl($url,$paramstring,1);1 I% k$ F. }& W
  108. $result = json_decode($content,true);. r% ?3 p3 T7 L- W9 y* i: `3 |
  109. if($result){6 ^2 u+ T+ [9 R; Q! r
  110.     if($result['error_code']=='0'){" I8 L( C6 Y" h' D1 Z
  111.         print_r($result);4 S+ Z# t/ m" K/ z: H
  112.     }else{
    9 T0 C9 s. X- H: J3 R
  113.         echo $result['error_code'].":".$result['reason'];+ o5 I* M7 |) U
  114.     }
    ! y" ^1 W. K) j* h' F/ ?
  115. }else{
    7 v7 f% V% s2 ~# q- v
  116.     echo "请求失败";
    / j4 |$ d& c$ L& P7 Q
  117. }* i) E: e+ Y0 U% x. j- A$ T
  118. //**************************************************
    ) g! v" H7 s  \, a
  119. $ w2 T9 K; D3 v! s9 e
  120. * M$ R6 j/ h& v
  121. / E# u7 d$ A+ F* t$ L6 U
  122. # W  r' P) d' b* F6 E" m) n$ O
  123. 8 @3 Q: Q, E0 c3 T+ X) w% D0 _+ _
  124. /**
    / y* J) f! {* }- b! `' R( z9 l
  125. * 请求接口返回内容8 ~$ G! ^; \% o/ j, H
  126. * @param  string $url [请求的URL地址]
    4 D, L5 o0 m. E) v9 _
  127. * @param  string $params [请求的参数]# F, ~6 ~2 W$ R+ ^) g
  128. * @param  int $ipost [是否采用POST形式], ^$ l, D4 H) U0 Y4 j/ @
  129. * @return  string8 v( W  b  ~3 D+ I, `, M
  130. */6 d1 q) T6 ^  P) Y  T
  131. function juhecurl($url,$params=false,$ispost=0){" t2 p3 u$ |  Y& K7 |# e' _4 i
  132.     $httpInfo = array();- Q+ c) Y* o; \# ?' u, k
  133.     $ch = curl_init();
    " X7 z2 [' {- `" ^( f' t
  134. / v- O6 k+ i# O
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );, a3 k& s% w+ d
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );( J! J: m  L3 u& c% O. G
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    - F3 u0 F2 M( |$ f6 L7 ~4 a
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);) q/ I% I# b( o- C
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );3 ?6 g6 ], c- n% j
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    6 \0 V9 v4 x( l7 H! X+ @6 ]
  141.     if( $ispost )
    2 g( j: `; m4 g, f, b
  142.     {
    2 A/ u9 g: i1 H: Z
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    / Y( L6 V8 |7 d3 @4 Y8 ^' _" N# l
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    ! [: U7 W8 _+ D  o  y7 x& J0 y
  145.         curl_setopt( $ch , CURLOPT_URL , $url );$ L7 u: V6 B! _, ?# \* X/ M/ c
  146.     }: N4 p, V! _# Q( W7 N# L, C" I
  147.     else
    + V  V0 a& C4 Z4 x) Q' n
  148.     {
    & T' l% Q0 O+ V5 N
  149.         if($params){
    7 }( h' f' ?) p5 N+ h6 y5 U2 ^
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    1 l* c2 Q4 A' R, }) s
  151.         }else{
    . ], N& H5 k2 }/ q, u+ x( @
  152.             curl_setopt( $ch , CURLOPT_URL , $url);: f8 l7 u# C# R3 J. k$ N# J1 q. R
  153.         }
    * T4 t" B% N( ]# H% ^$ V' b& M
  154.     }- J  U! g$ t. t+ v
  155.     $response = curl_exec( $ch );4 N1 ]; t/ j* X+ e1 V# |
  156.     if ($response === FALSE) {7 ^  N& D1 I. ^7 t) _6 A( [
  157.         //echo "cURL Error: " . curl_error($ch);
    " d2 }4 G0 w2 D, d2 j
  158.         return false;0 R& u( m! Q/ x. c1 D
  159.     }
    7 I* v, m& `7 n4 o( j# x1 V9 F
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    ' d! i2 k* b  k  _- M9 U( S: m  S
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );3 A" H! r8 v+ T) c6 P$ T0 X. W% q: a
  162.     curl_close( $ch );
    4 `2 o( B1 y, u& f. [* |
  163.     return $response;# L/ R3 R2 E/ n: G+ G
  164. }
复制代码

$ ?2 @6 L0 l  C
2 c5 E9 l  y* Q4 }0 X
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-22 20:25 , Processed in 0.113887 second(s), 21 queries .

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