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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
" u$ b: N% ~4 B/ O1.添加商品信息
9 [8 T1 O# T5 ?/ E. m7 S2.添加图片. ~& y# [: t# _6 l5 K5 L* j! q8 n8 D
3.查询所有产品
5 H4 N1 `4 m: ]' p1 p. {; ~( U+ Y4.查询某个具体产品信息$ g5 l  f, K7 |( u
5.删除某个产品; q! M! x& ?$ K4 e3 k, M
6.删除图片
+ c/ {! U- R5 b0 j. v4 Z7.图像识别
% m' \" _+ b9 E) n1 A' l
+ e0 \& Z4 @  D  W7 t图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey
! Z1 e6 V1 q1 c% y' J) S) _6 P- Y9 l
PHP示例:6 V, K: M$ L2 ^* @* W6 R( i* x! k
  1. <!--?php1 D5 D% W( {' t6 [; P+ j
  2. // +----------------------------------------------------------------------
    9 ~5 }0 X& }7 ~, Y. k# v) q9 g6 E* I
  3. // | JuhePHP [ NO ZUO NO DIE ]9 `! j- f4 ]6 r: q
  4. // +----------------------------------------------------------------------
    + |* P; B: Z8 Y. Q; j2 F/ N5 ^( c
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.6 x, q( U# y/ n! e9 y
  6. // +----------------------------------------------------------------------, z" n3 J: ?) S" ]
  7. // | Author: Juhedata <info@juhe.cn-->% F3 ]. B& V  X" A% k. x) m
  8. // +----------------------------------------------------------------------
    5 V( L) k" q+ G# G
  9. / W: q" k+ x( ^1 U
  10. //----------------------------------! ~) }! |6 h/ y# R
  11. // 图像识别调用示例代码 - 聚合数据
    2 U5 B# C7 Q2 C+ G/ C
  12. // 在线接口文档:http://www.juhe.cn/docs/117: v9 L% t- O; {/ b, N
  13. //----------------------------------% z7 \' G7 g  N

  14. & P3 M$ e: [6 q6 o1 L8 f" D6 o
  15. header('Content-type:text/html;charset=utf-8');
    1 i( L. O- d6 k2 w( X5 O- m1 D3 P, F, _1 R
  16. 5 n/ k% X# i0 K; H
  17. $ ]3 }$ g+ r0 Y# l7 e3 Q
  18. //配置您申请的appkey
    ; m8 O; j$ {/ N' j" s
  19. $appkey = "*********************";3 z' U% t$ N- R  _; t2 b9 V6 t% K

  20. ) d/ C' x, A1 g6 u7 \

  21. 3 U  Q- x8 k, w9 S) P* L' u0 {
  22. / l2 }+ Z" {* ?) R/ Q
  23. $ `. W" Z6 r# Z
  24. //************1.图像上传************
    7 A& \4 [! N7 I) y8 \- m
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    9 }( F# c! _6 l
  26. $params = array(
    - X" p9 ~8 i$ C4 \6 U) w
  27.       "file" => "",//上传的单张图片: \, c7 Y% l+ f+ v. s- T
  28.       "key" => $appkey,//APP Key' _6 Y% b4 j9 g" s1 _; l
  29.       "pname" => "",//包名
    9 z+ E8 a5 X$ O7 F( E
  30. );
    6 [0 _% I. u) F" N
  31. $paramstring = http_build_query($params);
    9 A6 X) P+ i6 W# Q' }5 x( r+ x
  32. $content = juhecurl($url,$paramstring,1);% w0 E5 K/ m  `- {1 P5 M2 Q
  33. $result = json_decode($content,true);, f2 n9 j3 ?; T8 D, H! W" E4 Y
  34. if($result){
    , L$ X1 m6 Z2 J& m) N6 T9 Z5 n7 R
  35.     if($result['error_code']=='0'){
    0 S( u9 }3 N# p7 M/ k! W$ {, t( w& E
  36.         print_r($result);, n; Z  ?2 j) X1 L0 f
  37.     }else{
    : W/ k6 L$ @9 K7 v9 h7 h6 R
  38.         echo $result['error_code'].":".$result['reason'];! ^1 a( j; m9 `( t
  39.     }# s1 t: J2 Z8 b. G( [7 X
  40. }else{
    9 y  S) K: l/ c
  41.     echo "请求失败";  ^: E9 H3 w( x4 c$ f
  42. }
    * q) Z/ e6 J" E2 D7 y7 S
  43. //**************************************************
    " y" p5 m4 Y+ ]9 H. g' b% b
  44. * G! M( B5 z) {- w/ x) a2 }6 l* M( k
  45. : o4 [# ]" ~7 e

  46. . ~" P; ~! S8 C" V

  47. 7 S& j: o, ]3 V; S
  48. //************2.查寻上传图像信息************3 i: J* i4 d3 h$ B
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";8 P; h8 W# G4 D' s, ^, F
  50. $params = array(3 F$ L9 c- a7 m- r# X
  51.       "key" => $appkey,//APP Key7 C) o9 T. Z5 z+ P$ n! m: B
  52. );
    : \9 ~( z" `) l9 [1 K
  53. $paramstring = http_build_query($params);
    4 d& C+ L( V! `6 s7 [
  54. $content = juhecurl($url,$paramstring);0 b7 F- s5 o0 T; {" g
  55. $result = json_decode($content,true);
      h8 o5 U* r0 G/ i3 l7 R% H4 A
  56. if($result){
    4 m/ v1 o0 g4 v' R* |5 e0 W; c
  57.     if($result['error_code']=='0'){5 o9 _+ R8 E+ D1 b
  58.         print_r($result);' j; T: b7 X% h6 y( ?
  59.     }else{: G( P* L, c3 r% A
  60.         echo $result['error_code'].":".$result['reason'];
      F; k' U/ n0 ~; Y( |0 l) d
  61.     }
    $ D, `& Q' ]8 ^" i4 |- R& f
  62. }else{; H& i7 a/ U+ z
  63.     echo "请求失败";
    - h+ m5 B& p3 M" _( Y- O
  64. }6 g. d( t- k1 a. u! X
  65. //**************************************************/ C/ w2 C, @7 L% o2 C

  66. 7 V4 d' ]+ O2 W" L1 ?, j! t
  67. * T7 _! f- z$ b! P" w; o; |
  68. - \* P: A4 h0 Q% S

  69.   m5 s1 U* I$ a6 q) \
  70. //************3.删除图像信息************5 I( @' ?/ i2 V4 M
  71. $url = "http://japi.juhe.cn/image_recognition/delete";# v( p* X2 w- n) D# @/ b7 e# U
  72. $params = array(- e2 p9 y. r( y# C2 U
  73.       "key" => $appkey,//APP Key
    $ R# F4 y4 ~; c5 P6 ^+ ~+ G( j+ x
  74.       "imageId" => "",//图片ID
    8 }; H: c9 x) r
  75. );
    / x+ t3 G: n0 v( i* s
  76. $paramstring = http_build_query($params);" j$ {7 G2 V6 |  g. N( i
  77. $content = juhecurl($url,$paramstring);
    9 t; s$ i$ b% [  G3 P; o3 }5 D
  78. $result = json_decode($content,true);
    ! y0 J& N8 U7 R, R' I- r
  79. if($result){
    - h6 U( x* Q/ s
  80.     if($result['error_code']=='0'){0 u1 y4 Y* w5 L- F8 ?9 ?6 k9 z
  81.         print_r($result);. g! P3 M9 a, Q
  82.     }else{
    ( d5 H! z8 Y5 \' s& m+ i
  83.         echo $result['error_code'].":".$result['reason'];
    * T: I1 Y  j# |3 i
  84.     }0 w% c5 p- y* w; w, V2 I/ G3 T
  85. }else{$ r, J& r$ y, X& e+ p; ~
  86.     echo "请求失败";
    ) |4 y8 S" i  \6 g* A9 W
  87. }
    & U" I6 t4 g6 \8 ~" k
  88. //**************************************************
    : k' b* x7 k; |) s( Y! [/ ]5 [* h, o

  89. 0 v, \! v2 x0 W' {6 H0 l

  90. 9 _! E- {/ U) d( Z- s8 ]

  91. . Y" N6 g, \+ I& f4 i& P$ T

  92. 5 x3 U' n2 X% ]4 P! p! k! I
  93. //************4.图像识别************
    8 i+ h9 c0 m$ P
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    7 h  T  R3 m/ k: n1 Z6 |+ A$ C
  95. $params = array(/ N8 o# G6 c: f! |3 [
  96.       "file" => "",//上传的图片6 c1 e! Y0 c! B. g, q2 e8 Z
  97.       "key" => $appkey,//APP Key% r, |( }; k5 C9 V2 m- Z1 c8 O
  98.       "pname" => "",//包名
    - g* v- p# q1 H0 S0 z! ^9 t
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    ; w& P3 O9 l4 a$ u' d6 b  n$ x) O
  100.       "device_version" => "",//设备版本(如:4.0.3)
    ; N# y$ c) ]  x! k4 e; m5 M
  101.       "latitude" => "",//纬度8 [! n8 C& C) H  b9 g6 N
  102.       "longitude" => "",//经度
    , o- Y+ X9 J% b% Q
  103.       "uuid" => "",//设备id9 ?; u3 h! X8 Z7 p. T6 p
  104.       "zone" => "",//请求地区2 X- D5 }6 G! A7 _8 Q& `
  105. );
    0 p; K8 C( e+ A
  106. $paramstring = http_build_query($params);
    0 p; f' E. A: E
  107. $content = juhecurl($url,$paramstring,1);
    ' {& s8 {1 L, K% V
  108. $result = json_decode($content,true);
    5 B# T1 T% G! S% H+ z& R; n
  109. if($result){0 Z: n- Q+ j) D2 V- X6 C
  110.     if($result['error_code']=='0'){2 R/ _- o9 o7 b8 c+ f* B
  111.         print_r($result);
    9 Q& p9 Y! P7 w' d/ O3 C
  112.     }else{
    : O# b9 k3 b6 A( E: V1 r+ `3 G
  113.         echo $result['error_code'].":".$result['reason'];3 a+ L" ]" h" o& }7 v
  114.     }: B7 y) l2 b' b' B% J' x
  115. }else{) z6 c9 R- a5 z2 k0 G1 U* S5 j# B' Z
  116.     echo "请求失败";
    3 X; |9 X- A& C0 A
  117. }
    ( `) n+ B/ P: W, |0 r
  118. //**************************************************& S0 A- o1 `3 R3 P! p

  119. ) i* ?+ {( X5 R3 `  E5 F1 }
  120. & G; \6 u! o1 _2 v$ C; m$ O( H# ?
  121. ; \3 U( b" ~* B" Z1 U# [( c0 g) N
  122. 4 Q8 ]% q# r+ s2 _
  123. & B; J1 @* b. x) R
  124. /**# Q" i5 u' i/ k3 W/ ^0 D+ |
  125. * 请求接口返回内容. @- X. p( j" ]+ q$ O2 k
  126. * @param  string $url [请求的URL地址]: x. v' ^) T4 f7 y) C: V
  127. * @param  string $params [请求的参数]) L* k0 V0 o) Z( j) ~* o  S/ n7 }
  128. * @param  int $ipost [是否采用POST形式]
    $ m5 T3 ]4 Z; y2 a! F
  129. * @return  string
    5 Z1 n0 A) M7 H3 q' [
  130. */
    7 r7 k. u5 F# A) C* O
  131. function juhecurl($url,$params=false,$ispost=0){8 W* `$ Z7 R: n! R2 s2 i) w
  132.     $httpInfo = array();& E. g, C* k. h7 \
  133.     $ch = curl_init();
    : ]- S9 A1 I% v- W, V* X* P4 Z

  134. ; F  p8 O" _6 |/ ]+ |8 U' O. D
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );  i  t) z% j/ _5 }' Z
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    8 ?2 l' ?0 R3 K' E- h( A
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    1 e: F* H5 R9 T% d3 [) b! j/ k: \
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);  \! a) F' f/ E/ G: x
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    " F) L8 N  q) [
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
      [5 x2 ]" M! f7 ^& }! }) T
  141.     if( $ispost )# d4 Q. i( {- b8 D5 K
  142.     {
    2 ^* {" r6 t: K$ P0 w, t+ p
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    6 O3 L. }: @& W3 |
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );$ W" X; f& l& }5 x1 `. v: ]1 p
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
    % H6 r) D0 r3 ^5 o0 L
  146.     }6 o9 g  F# g, Q+ i
  147.     else
    1 h: |7 l% @/ {1 H" c
  148.     {
      z0 s! k+ P% `3 y7 \, W, C
  149.         if($params){& @. Y  }, g2 O; v* [
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    , d0 W8 p- ~3 f+ e  W0 u
  151.         }else{
    + D7 a8 b0 b/ k7 }  _
  152.             curl_setopt( $ch , CURLOPT_URL , $url);5 ]: `6 P& o! A+ [' Q7 v. D
  153.         }3 }2 c0 a8 m/ k$ g% ~) q+ K
  154.     }5 W% t5 l; d1 ]7 B6 c' Z
  155.     $response = curl_exec( $ch );* Z% a/ \* A+ b+ ?# n
  156.     if ($response === FALSE) {
    1 @' Q4 K' Z8 M3 X
  157.         //echo "cURL Error: " . curl_error($ch);
    : g7 i% y. U8 f
  158.         return false;
    ' q. g  s2 x8 o0 [
  159.     }+ \  x7 R, F, A4 \+ f  z
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );+ v2 G* J  U% {8 h1 r
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    ' }) `$ F5 a( \+ I% \4 m( p8 w
  162.     curl_close( $ch );, G+ X- r, X* Y2 T( p( N
  163.     return $response;
    ) k0 a& w! ]0 {+ h+ H
  164. }
复制代码

9 f! _# t1 D% e- K% n6 e3 ~( }- W# c, J/ w( N; M# S
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-16 18:44 , Processed in 0.059890 second(s), 20 queries .

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