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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
% s, M! {/ H& L1 \- H% e% J1.添加商品信息
1 Y. T4 o! J$ p& x0 m+ R2.添加图片
3 i( c( |* t9 ?* g3.查询所有产品
2 n8 L, f; q6 g5 P) Q4.查询某个具体产品信息/ w! W6 _. M* H  E/ M
5.删除某个产品
5 p$ ~& m! }4 Q  [0 o, \6.删除图片. {4 N7 U4 ?$ x: Z! b4 d
7.图像识别
: w9 ?7 T. l7 B8 r' i) {
/ w3 o7 P+ P+ ]4 G图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey/ N5 y% o. k; z. u+ ^

, l! P1 I; u" ?  a! ?; WPHP示例:
+ Y; y, s6 @0 M1 d3 r! r
  1. <!--?php
    : j8 E: z3 ?; T1 f5 z6 ^
  2. // +----------------------------------------------------------------------& r- r* G2 R2 Z% i  `1 C. `, y
  3. // | JuhePHP [ NO ZUO NO DIE ]
    " X8 }/ {& O% v2 h
  4. // +----------------------------------------------------------------------- i- F2 P$ S1 Y0 ~$ g
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    ; |5 \; B* n! s1 I! Y
  6. // +----------------------------------------------------------------------! Q  |5 v9 A/ \0 `- ^, u
  7. // | Author: Juhedata <info@juhe.cn-->" G7 Q% H/ `% S' b( s1 e3 }
  8. // +----------------------------------------------------------------------4 D& F5 k5 Z+ O* ~

  9. 0 A5 ~  y' I% ~
  10. //----------------------------------
    4 T1 b: }1 g+ c) w) M, _
  11. // 图像识别调用示例代码 - 聚合数据- `3 l0 t& t, p; s0 m+ |2 J( K$ z5 M
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    0 b2 W; e- t. u% s# ?
  13. //----------------------------------
    8 x* L& q  `4 t# k0 X" z* l6 ~
  14. 7 Q! y% ~* i, N8 @0 n+ {3 n
  15. header('Content-type:text/html;charset=utf-8');3 W) v4 D; ?" U/ q7 ^

  16. ; f, X( `+ e. G- L

  17. 8 ~$ f2 J, \  K' l$ o" R
  18. //配置您申请的appkey+ u! q% G" L% C3 e! C8 ^
  19. $appkey = "*********************";" ~( N, t7 W# S- h
  20. 3 \6 x2 @" _- S$ E: ^1 i- |

  21. ; E# U4 m3 G- t7 L2 g9 F2 u  z3 l

  22. ; s5 V  j4 v( c+ e) N" p

  23. 9 y" F2 c4 @* ?" K
  24. //************1.图像上传************* T  s5 ^4 Q; [# E- c
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    9 _+ ?/ L& h. X. l. I$ m# }5 O
  26. $params = array(
    $ c  ]7 }9 j# E
  27.       "file" => "",//上传的单张图片+ I2 Z4 M& k1 y8 h) i
  28.       "key" => $appkey,//APP Key
    / T4 v: G$ d9 U
  29.       "pname" => "",//包名
    2 C. a& P5 M3 g1 I, i4 q3 G
  30. );1 r7 d0 a! g* y; x5 ]% z0 ?
  31. $paramstring = http_build_query($params);3 H+ M9 {  u  a: z& R
  32. $content = juhecurl($url,$paramstring,1);
    % M1 A: c. j4 [- i1 f
  33. $result = json_decode($content,true);2 O5 W9 @1 ^* L6 i0 n! X& m
  34. if($result){
    % M! m9 [/ v; b' }  L1 t, e% p
  35.     if($result['error_code']=='0'){
    ) s. M. G2 [1 I; E
  36.         print_r($result);
    4 z4 A$ b  ?, z; N' E/ k
  37.     }else{
    9 z3 X! `  R- q6 D# ?/ Y3 m
  38.         echo $result['error_code'].":".$result['reason'];
    , q) T1 V- l4 l7 B& n
  39.     }( Z$ R& S7 A! P4 }% {0 w# X& G
  40. }else{
    / I" P9 v; T0 z  I) z7 D
  41.     echo "请求失败";& O" ~8 b8 D* Q/ X7 f  f$ ^
  42. }/ v% Q& k- y( S7 v" p8 }: {: R$ g
  43. //**************************************************
    : X& k5 ^- n1 g/ j0 E) }

  44. - s" r$ V. D& b
  45. 9 C% c: E2 r, U0 C+ \
  46. + o0 j" U0 V0 F; B$ S3 B  @' X

  47. 8 n. S" ~5 k0 f0 T$ Q: G1 m
  48. //************2.查寻上传图像信息************1 k) m0 j& j& @9 v& n
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    ) u5 R5 Z/ Y, N2 o
  50. $params = array(! h$ j5 P. b+ ?6 X/ q
  51.       "key" => $appkey,//APP Key
    ) Z  L- Z; [1 `% T. t
  52. );* @, g! C$ ?# q% j# P
  53. $paramstring = http_build_query($params);
    , P, }% m) Z, A' W
  54. $content = juhecurl($url,$paramstring);( z+ z+ r5 _" J; T4 K
  55. $result = json_decode($content,true);
    : S2 M. r8 B. d. n, D
  56. if($result){
    / V+ i5 C; W( r% m- U
  57.     if($result['error_code']=='0'){8 R$ G4 d. o4 a6 b- |$ d
  58.         print_r($result);
    & A! ?% x1 u1 f7 t7 W0 K9 c# {
  59.     }else{
    & i  f, m  l2 f" a
  60.         echo $result['error_code'].":".$result['reason'];
    ) G# f$ V4 y% M& u7 x+ ?% v
  61.     }
    & R9 K% X3 d4 B- S3 l
  62. }else{/ u' ^7 p! a/ d) W# P$ R6 a+ x
  63.     echo "请求失败";
    ) V0 A! R1 t0 B
  64. }
    1 S0 I: \" b) b* d. n
  65. //**************************************************, {$ N: D" H  g# i) A1 W2 r2 L
  66. : q6 x) r. ~$ e6 }' D8 N
  67. - ~& j$ ], z! _+ p& J  o- n

  68. 1 e$ B/ k3 K/ r. a  }+ P

  69. 6 ]* l) J) q5 S- x( ]8 d
  70. //************3.删除图像信息************
    # }! j$ j: T+ ~6 P
  71. $url = "http://japi.juhe.cn/image_recognition/delete";, ]! B7 \5 d) F+ a5 Q
  72. $params = array(( q! x( _6 i# V) W+ G  J# n- z
  73.       "key" => $appkey,//APP Key2 d  I4 T. z" w5 U& o3 }
  74.       "imageId" => "",//图片ID, p5 q4 O5 f+ ]
  75. );
    : p) d% N: U6 Q1 M
  76. $paramstring = http_build_query($params);( z8 J3 Q0 S5 O  ^: ?
  77. $content = juhecurl($url,$paramstring);
    ! W& Y7 I  a3 e/ a$ O
  78. $result = json_decode($content,true);
    0 W; L( ^- P) z
  79. if($result){+ z" Y$ g* q% T5 T. f# Q5 d
  80.     if($result['error_code']=='0'){: X: l- M# A/ _2 F# o4 ~0 [
  81.         print_r($result);0 k& g, A' v- Q3 ]( H2 X
  82.     }else{  u+ Q3 o3 x" Y( Z
  83.         echo $result['error_code'].":".$result['reason'];
    & c- D: L+ U2 [' W
  84.     }" y. E7 y) s, |7 r0 K
  85. }else{
    ' B; M  _  `: i8 b, b8 }
  86.     echo "请求失败";
    ; s1 a  w* E) u3 i- k
  87. }, ?7 j" a# c0 K  u8 N+ l  L
  88. //**************************************************
    ) X7 A2 Y# }* F* _& {3 z

  89. ( m% n" y. r7 j1 V2 R
  90. ! [8 C  ?! g: k
  91. / U' ]7 u( b' A
  92. 7 P& j& m: c3 s! |
  93. //************4.图像识别************
    % x1 J* b) \- j* d
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    4 Q  d4 L1 ?* H2 a' S$ q. V' d
  95. $params = array(
    9 Q; [4 f; m, w3 s9 i
  96.       "file" => "",//上传的图片
    9 j: V) k/ x+ y  k
  97.       "key" => $appkey,//APP Key" Z( L9 D) |5 R1 e! n8 O4 z9 T
  98.       "pname" => "",//包名
    : N6 D" z3 l; X3 T% A5 f" J. b
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)* k6 l- w5 u* M7 V6 s# Q: z
  100.       "device_version" => "",//设备版本(如:4.0.3)
    9 P1 O" d! Q, h+ N* W7 u
  101.       "latitude" => "",//纬度% Z0 g, s" a  A9 G. I! h, D5 Q" Y
  102.       "longitude" => "",//经度
    ; K0 Y$ X  D; ~6 t) m8 W9 _
  103.       "uuid" => "",//设备id
    ( w$ X' ]8 R6 S4 H3 V6 P7 h, I8 i
  104.       "zone" => "",//请求地区
    1 f  V8 ~! t/ a8 V3 Z* z# [- W6 ^
  105. );
    ) N% N1 p/ q. D5 O) N7 S7 {* H
  106. $paramstring = http_build_query($params);
    # \5 \, T( U2 j% N) n. n. n7 [* T
  107. $content = juhecurl($url,$paramstring,1);& ^2 y1 d4 a; y4 [: N9 I
  108. $result = json_decode($content,true);
      W) v' `2 H+ h) R% K& M# K7 Z
  109. if($result){
    . l' y3 k& N- N* M
  110.     if($result['error_code']=='0'){
    , K9 E1 E! g1 ?( s1 p$ d; A
  111.         print_r($result);
    / T8 z5 r* }4 w
  112.     }else{5 ^) ?- t5 |5 f5 O6 X* Y
  113.         echo $result['error_code'].":".$result['reason'];
    2 b+ S6 y# e$ w* Z1 C
  114.     }
    1 z' }9 l2 R. R8 c" I& o/ N' K
  115. }else{9 L- F: r1 X; i' [- S1 U% m; A
  116.     echo "请求失败";, }+ i/ o0 F: f5 H
  117. }
    1 |- u- }0 n3 L8 X' p$ I
  118. //*************************************************** l5 C: F+ T4 U; o+ e8 D$ ^' q

  119. , x% R3 ~. `" Z( C. L5 U& V! Y
  120. 0 Z2 p3 u& ?9 g5 S, e- a
  121. + U8 }' s7 `5 P3 u! t

  122. 8 p9 |- x( {- g9 f! m1 g+ U+ b
  123.   Q% L3 p: r; `) h3 E  G
  124. /**8 O: D1 o' K3 m. m5 _. I) o
  125. * 请求接口返回内容
    8 }& H+ H0 k% ?! `$ |
  126. * @param  string $url [请求的URL地址]
    1 r7 l3 w. m8 t/ N9 ]2 X$ S
  127. * @param  string $params [请求的参数]! \" d: Y- R, o! H
  128. * @param  int $ipost [是否采用POST形式]
    + ^, u. X. o! N  Z
  129. * @return  string) L5 v# m& u, n
  130. */( w, c$ L/ H! Y8 A; C  @6 O
  131. function juhecurl($url,$params=false,$ispost=0){
    ( i4 v% z: Q, h' R# u1 O# t
  132.     $httpInfo = array();0 Q% w# w. M5 s: E/ b4 \
  133.     $ch = curl_init();
    & S' Y" x. ~4 T* U8 |; K4 V

  134. ; k9 N1 g8 _: O! U3 \4 Q9 n
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );/ U2 O! s* e; T% |+ T
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );  o' `! F0 f1 v3 i. p
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    . E& T7 P& U0 o0 q8 O* {
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);+ J: ~- m8 N  n! H" {  M; C
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );2 R0 P9 N4 @( L" @: |( W3 p$ [, ?
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);8 m( n& E1 z9 M
  141.     if( $ispost )% D9 J5 q- I4 D2 Z" ~. S0 |& d+ W
  142.     {
    : O) O3 s! [, m" k
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    " F/ L  K( ]2 l4 {1 ]) u
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    5 k  V: _  E+ T0 ^
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
    . D6 S/ s2 _( |
  146.     }
    - X; T# `# \$ D9 F8 M; h5 f" Z% ^
  147.     else
    ' r+ u2 C9 d. a6 F8 w
  148.     {
    : {& a" \$ S# |
  149.         if($params){8 X* t; a. v# U+ w: i6 S4 }% u
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    & @& i7 Z7 n/ i3 k- a$ M
  151.         }else{% i. B/ s2 Z; |- j* k8 i6 q2 h
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
    ) U" q; j3 Z* \" A% O; Q/ D
  153.         }: j* `- R: F& N% n' H6 U4 ~; |
  154.     }
    " h9 \7 ~: t8 p9 e) R$ c
  155.     $response = curl_exec( $ch );
    2 @1 n% p4 k& n4 [$ Z# l
  156.     if ($response === FALSE) {
    7 G/ I+ T% V# g* a( |& e6 I2 [6 m, x
  157.         //echo "cURL Error: " . curl_error($ch);3 C( o6 J8 r4 e1 B9 r' K
  158.         return false;
    5 T" k. o: B% [
  159.     }
    * @; o5 Y. N+ e5 O0 V
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    : h6 t$ W& ~9 o' [+ w* s4 c' ^: K
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    7 I1 t6 w# @( j  w/ B
  162.     curl_close( $ch );
    & s$ V7 y9 Y* W2 M; @. x
  163.     return $response;
    ( Y: R5 D5 R" d# F+ c! }2 O6 V* X2 Q
  164. }
复制代码
5 n# ]) L5 \7 I% C( o
/ `& \" C7 u! X; [
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-17 21:46 , Processed in 0.064948 second(s), 20 queries .

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