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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
: x% Y7 }! M" V6 L2 i) {! d1.添加商品信息
' L" U/ i. G2 Z8 ?( U' Q2.添加图片6 |7 E% T. y; g# r
3.查询所有产品. K. H4 t5 U5 s7 c9 h$ ~$ L
4.查询某个具体产品信息9 A, M1 Z+ c! ^: R7 Q  u
5.删除某个产品
( h/ `+ s8 i' Y6 x6.删除图片
' U1 y" |0 p1 j  V7.图像识别
  C: L- q1 T  o  p5 d( a
8 f( E- H. N. c' a6 U+ C图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey
) i" k5 ?3 u: ]* m, t: w( @0 M
0 |7 i" n3 q& bPHP示例:
9 n" _* j+ x' S2 V) e
  1. <!--?php
    / v9 z7 v: H. y1 c
  2. // +----------------------------------------------------------------------, Q( \  p: y+ c! H
  3. // | JuhePHP [ NO ZUO NO DIE ]
    : k( w: a3 W0 K3 @; l  {1 l! _
  4. // +----------------------------------------------------------------------
      G2 \% M( X; O& @
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    ' j1 w$ o$ ^2 @- |3 @% D
  6. // +----------------------------------------------------------------------! P& _, C* A8 }: k8 U/ W
  7. // | Author: Juhedata <info@juhe.cn-->6 r/ p0 k9 j! a% }( x
  8. // +----------------------------------------------------------------------
    / U: f( L5 O, W: [7 a3 Z, L, e) m8 j- z
  9. " A$ W+ R' N" N: V
  10. //----------------------------------
    " B2 S/ w0 ~+ I5 w$ O
  11. // 图像识别调用示例代码 - 聚合数据; i4 J/ h8 d& Y9 [, b# s
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    # k5 H/ y4 D2 h% x) f
  13. //----------------------------------
    / |+ L/ W; o- L3 A/ d* M
  14. ! G( `8 D* o$ c+ m" q# X, v3 e
  15. header('Content-type:text/html;charset=utf-8');+ Y, V+ B+ n4 S+ W

  16. % r. o7 y9 L! j5 _$ y
  17. 1 b5 R+ l. x* |7 N8 ~7 v" Q; D
  18. //配置您申请的appkey; e" |* X) T: Y  |" ^
  19. $appkey = "*********************";# }2 m4 s  j) H3 N, ]/ Z0 N; h
  20. ( r5 D3 M4 K  ?6 r4 g

  21. ! Z) u' p( {: {: Z6 l. ?
  22. ' O( E. I+ g# K1 ~. t3 w

  23. - K) }% a$ M% ?9 P* `$ P, Y0 z$ N
  24. //************1.图像上传************
    5 c" G* S8 y; C
  25. $url = "http://japi.juhe.cn/image_recognition/upload";: @# y; c) {* }# b# u4 d
  26. $params = array(
    + d! S$ z4 `. s- {
  27.       "file" => "",//上传的单张图片  z5 Q( B2 |1 b! [' B
  28.       "key" => $appkey,//APP Key. t- e( L# C" H' E5 [' ]; s/ j
  29.       "pname" => "",//包名8 D9 H# ^5 @' `0 q" A9 Z0 c3 p
  30. );
    7 J' p) t# G  |; c) _& h
  31. $paramstring = http_build_query($params);
      Y6 p4 Z9 I. E) t+ H) ?3 s/ v" A; C& m$ r
  32. $content = juhecurl($url,$paramstring,1);
    ) y9 u- p! G0 ^9 M; ]
  33. $result = json_decode($content,true);
    : G8 T5 v# M9 ~" }7 e2 q
  34. if($result){
    5 N0 s4 y' e! A4 b
  35.     if($result['error_code']=='0'){
    - O5 N+ a9 u, Y8 g0 m9 X# z- h
  36.         print_r($result);
    & k; y! M. I& R5 }: s1 q
  37.     }else{# O& ?4 p, |/ ^" P0 B
  38.         echo $result['error_code'].":".$result['reason'];) `4 T1 j3 @9 m" L* T
  39.     }
    # A  G1 v( f6 b8 i+ M' L& N
  40. }else{+ C  J; Q8 N* z) `
  41.     echo "请求失败";& j( n% S% G* B, p! L) U4 h6 v
  42. }
    ) O: L  }" B: x
  43. //**************************************************
    & _+ @) }$ r. ^

  44. 7 g+ ~" ^9 A0 s( H, l& e) i7 Z) c
  45. 3 s5 R: f5 o0 x2 ]3 |

  46. 5 S5 J  m; m% ~$ d
  47. . v6 _& b4 W  N/ N" m8 U9 o7 p
  48. //************2.查寻上传图像信息************
    : O* q! _9 e$ e! e" @
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";% M2 j  g( v3 w
  50. $params = array(. _; I, Q# a; [% a3 v+ m1 l
  51.       "key" => $appkey,//APP Key0 e! `: E% F+ n9 Y4 |+ _+ y
  52. );. S8 ^; w  E) s: g, N! U
  53. $paramstring = http_build_query($params);. c9 r0 D4 Z- I7 _+ B$ j( k
  54. $content = juhecurl($url,$paramstring);& v6 k* S  Y. R0 L
  55. $result = json_decode($content,true);# \( P0 Q0 F1 U
  56. if($result){
    % P7 H/ [; U# E. L, y( h5 m
  57.     if($result['error_code']=='0'){
    " L  l3 m: W% K
  58.         print_r($result);) u! W. ?0 O) L/ D" P5 C
  59.     }else{/ e8 }3 G3 m7 v. E9 [
  60.         echo $result['error_code'].":".$result['reason'];
    + B- T$ L/ e: j6 w4 u
  61.     }
    5 w" \! P( g0 n# d7 m: O& E& j; D
  62. }else{2 o0 O7 u& a$ M# Q% _9 z
  63.     echo "请求失败";
      f% f& C4 |0 K1 c- h, _7 q
  64. }: B' h1 L, W: P
  65. //**************************************************
    5 \, w" B$ z- V$ d( L0 C' `
  66. & J0 c- \( g2 a  b( Q

  67. . W+ A) F3 F" E% T
  68. - g# @1 D4 G6 a* ^( v* c

  69. ; ~* N" p3 q3 ~. h: W( N
  70. //************3.删除图像信息************
    + K0 ~3 q6 }3 k8 q1 X
  71. $url = "http://japi.juhe.cn/image_recognition/delete";' B3 D( u3 k# K4 x4 Z
  72. $params = array(
      D- b, ]4 y' g/ r: [4 B
  73.       "key" => $appkey,//APP Key- K3 l! K) C3 ^, ?* @( M) s* K
  74.       "imageId" => "",//图片ID6 i5 B( n* p  K# p& L7 C: U8 u
  75. );& R1 j1 E; t  k5 S; l
  76. $paramstring = http_build_query($params);
    - t1 S" w* i& i4 ~
  77. $content = juhecurl($url,$paramstring);
    ; P2 ~7 L3 l* k( U/ Z7 `9 Q5 A! ~0 i
  78. $result = json_decode($content,true);
    7 s0 o9 V; @& g' t7 R0 c1 X7 `0 b, \
  79. if($result){
    : i  v" Q$ D( d1 x
  80.     if($result['error_code']=='0'){
    8 ~4 l6 d8 `* k' K1 `# Q+ `1 K
  81.         print_r($result);/ d- ^% J- x0 K+ ?7 i; ^
  82.     }else{
    . T2 q7 O; W* ?, p7 V/ i' g8 L
  83.         echo $result['error_code'].":".$result['reason'];
    ; |) h8 u5 M! B( r2 N$ r5 L. V4 ]( }7 H
  84.     }
    % j3 F$ S5 p6 e6 o
  85. }else{9 c' \* t% ^% [* U8 ^% ]
  86.     echo "请求失败";
    5 i! E" ?% {( H/ V3 b6 g, ~6 ^
  87. }
    4 Y. I. s& |# x7 Z
  88. //**************************************************
    - W& W1 a) v- I6 }5 ]( e
  89. $ x1 W. ~1 h4 W3 c" i! G% h* G$ ^  j
  90. & O: s" N5 i% }( E) X

  91. 4 G( N( ]9 W2 S4 D3 Z

  92. ( ?" Y$ n) e- I2 p4 N! y8 J3 F2 ?
  93. //************4.图像识别************
    $ V) L. N" l7 b9 `% J( a9 `
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    7 L0 Q0 T* ~" P1 g. H8 i5 l
  95. $params = array(
    # I$ S3 C' z/ m6 u8 y5 L
  96.       "file" => "",//上传的图片
    # J$ w# I. N6 ], M/ X
  97.       "key" => $appkey,//APP Key1 k- ?1 d6 r$ J% p7 O+ g9 q
  98.       "pname" => "",//包名' y; F. X3 C" x: N. p  U2 [
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)0 u( j2 V: ?: n$ ]3 e
  100.       "device_version" => "",//设备版本(如:4.0.3)
    - ^+ e/ {/ y4 h! b7 G$ ?3 ]
  101.       "latitude" => "",//纬度
    / m/ e. P! P0 n" _6 p! b# @, X; {
  102.       "longitude" => "",//经度: M$ T4 ?# y, C. }/ P9 v+ G4 l
  103.       "uuid" => "",//设备id6 {2 ~% X& B* ^6 I
  104.       "zone" => "",//请求地区
    3 X9 _8 Y% [( F, z9 f
  105. );
    8 b$ J! w% L. m, F6 j" C3 ^5 B. l
  106. $paramstring = http_build_query($params);
    ) q7 N/ o' Q8 J. @2 F
  107. $content = juhecurl($url,$paramstring,1);
    ( U: I% C0 W3 z1 \9 I, ~# ]* l
  108. $result = json_decode($content,true);
    - ^& u+ I8 I2 p3 Q5 d$ a( q5 P2 M
  109. if($result){
    1 `5 F, O: G% |0 T3 y) f, W
  110.     if($result['error_code']=='0'){7 f4 P  o/ b8 l$ t9 ?
  111.         print_r($result);) g* h8 t* R" u7 |& k6 C2 h
  112.     }else{& ^" D6 l- I- s7 ]$ x" P
  113.         echo $result['error_code'].":".$result['reason'];
    / O6 |! r5 d! f& n! u% R  c
  114.     }6 Q9 }5 y  ?4 q, N
  115. }else{8 x$ N+ L7 z3 m
  116.     echo "请求失败";
    / M, {" T3 G* u& h
  117. }2 ^8 h1 ^  X5 X" C& c9 l
  118. //**************************************************2 X' P2 G1 b8 Q6 E

  119. ( Y8 ]- D; G% ~8 t, v
  120. $ P  ]4 X$ b  I' f

  121. - y3 y3 j5 W( X2 j! b

  122. ( Z& n* m+ r, ^# s. A; K$ H

  123. 0 p# t" O8 F( ^7 l3 o' d$ Y4 D
  124. /**
    4 U( @6 n7 m: j4 Z( H( A: i
  125. * 请求接口返回内容
    4 R8 ~* [3 v) _6 @
  126. * @param  string $url [请求的URL地址]
    2 n3 J; x5 x$ g% i$ R
  127. * @param  string $params [请求的参数]0 D3 c' r" E0 B
  128. * @param  int $ipost [是否采用POST形式]4 h( y0 F- Y- p
  129. * @return  string& m+ f, j+ d2 Y( ~; o
  130. */
    & X5 d& l' \& N; u; B
  131. function juhecurl($url,$params=false,$ispost=0){
    0 A) M( v- \! i
  132.     $httpInfo = array();
    . n, _, n* j. g7 B7 B
  133.     $ch = curl_init();; r, Y+ u0 A1 O( D

  134. 8 [8 `* Z% v) c
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    ) {1 H5 C4 x5 @( p+ O; R
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    / \4 _5 H+ i8 K2 q' X6 \$ Q& c0 G( y! U
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
      L, b) a% ]. p" T& a% J
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);1 K0 `, I( e& O6 o( G" f
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    ( s7 n8 s) K& x" ~
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    8 \6 v5 B1 |$ S+ [/ u: ~
  141.     if( $ispost )
    ' z: ?$ U, y% a% b2 `6 d) m& P) b
  142.     {
    ) o* A4 n0 K+ g7 h
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    : D) B8 p% Y, J# D
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    7 g% k6 q4 B: [4 z8 ?2 G) L. v
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
    2 [0 T& G' V4 S. }: p
  146.     }. e( Q/ W; c( K6 ~2 U- ]3 J# V0 d' f
  147.     else
    9 ~1 W) y! w# [( c* k+ \+ |& v
  148.     {
    2 H) a4 r) R+ v7 e, t
  149.         if($params){
    / g/ Z6 ?; D, n/ {& y; A) b- r
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );3 ?) c6 ^, d: a2 J! F& i' x
  151.         }else{# }/ |4 X' m6 F' L5 @1 ~
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
    * R9 S2 T7 D9 a$ Y" q% ^; U
  153.         }
    ) m( o7 ^( {! Q2 C# ~
  154.     }: B: z3 \% a! F/ C! a. O- l7 S' p
  155.     $response = curl_exec( $ch );2 X+ f' z* `* D1 `: ^  H2 H- o
  156.     if ($response === FALSE) {
    ; M0 {! T7 H" @! S
  157.         //echo "cURL Error: " . curl_error($ch);
    ) y) i6 m! o1 y
  158.         return false;
    & a  m* V& V* o# l
  159.     }, ~9 R; ~- m. A
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    4 l( h. u' R; u, |
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );- b) T0 a1 a( z1 Z- p+ N- v4 ^
  162.     curl_close( $ch );  R, [) I7 g& A, P
  163.     return $response;
      Q, L  P- t' ]; \3 c& L# c4 X& g; k& @
  164. }
复制代码

9 b  U0 d- `4 E4 A% O
8 Y# |; C4 ]+ {' G& b2 ]. k
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-6-15 05:23 , Processed in 0.139133 second(s), 21 queries .

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