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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
7 b6 K+ b! G3 v! j( C0 C1.添加商品信息
( t$ |$ a. }& s2.添加图片
5 i. b5 A/ Z+ {+ G4 `# W3.查询所有产品
' r& d! F" Q$ d* R  K% S4.查询某个具体产品信息
2 J0 L3 g- V+ Y/ C5.删除某个产品
- l& u' ]& f4 l  a- Q6.删除图片8 a8 q3 `6 j/ S- g$ J
7.图像识别* X: w- p. G' C: A
1 u' g; s( M  X% u
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey
% j4 ^. j" X# d' D& ]7 p  \- W+ f0 G) g9 z  \
PHP示例:
6 t' N* b9 a6 C6 u  c7 k: X
  1. <!--?php2 V( W' W  L- ?) J
  2. // +----------------------------------------------------------------------
    ( G& `% j# R% i8 ^3 n
  3. // | JuhePHP [ NO ZUO NO DIE ]) N5 e% V2 d6 [4 d' v
  4. // +----------------------------------------------------------------------
    4 w! P5 B$ I+ T. w; {
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    2 m8 Y/ q; J6 f0 i9 {
  6. // +----------------------------------------------------------------------
    ! S+ Q  n9 S2 d, ~9 b8 Q
  7. // | Author: Juhedata <info@juhe.cn-->
    7 _% v& I, P- V5 Q0 C. p0 i) j
  8. // +----------------------------------------------------------------------
    ( L$ @. x6 K3 a/ }) K: Q

  9. 3 E3 o! h! b4 ^# B
  10. //----------------------------------$ A7 a9 g- u8 m' p" ~- N* {
  11. // 图像识别调用示例代码 - 聚合数据- ^! M0 n. W5 h8 z
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    ) ~. p  ?! Q# z! U
  13. //----------------------------------
    % t( m2 s7 }* F4 I3 w) D

  14. ) r& x. j: z& }4 _
  15. header('Content-type:text/html;charset=utf-8');5 ^1 S8 R$ G7 ?' h
  16. 7 }9 H/ w: s; w& S, h3 }2 H- i
  17. ) h" r' `1 Y% b
  18. //配置您申请的appkey
    0 [$ F0 I' P4 t8 f7 ~* V
  19. $appkey = "*********************";9 I) [9 @0 f3 E& C

  20. 3 y: v# S6 h! {% V/ C* g  m
  21. 5 k5 Z, {6 S0 N( _5 a, M
  22.   Q: y1 {! `* z. ~9 E8 x) }

  23. 9 g6 ]1 R) n, d/ c3 i9 ^
  24. //************1.图像上传************. J/ Y; o" ^  Q$ ?
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    ( X0 }! t7 ^( |3 Y
  26. $params = array(
      |0 _$ C! F* b* J. s6 r0 n
  27.       "file" => "",//上传的单张图片! F. Q7 J- A0 u, t) U, b
  28.       "key" => $appkey,//APP Key' i7 ^8 [- E2 ?8 \: b9 g/ v" [
  29.       "pname" => "",//包名
    + B0 O. E. \/ D7 @. f( R
  30. );# c3 F8 n8 H  s0 i4 ~  b. O
  31. $paramstring = http_build_query($params);: ^% p5 V& H' i# O! N
  32. $content = juhecurl($url,$paramstring,1);
    7 P& g8 L) N: o+ Q. ^$ Z
  33. $result = json_decode($content,true);
    " |+ K& Z; i3 W, a/ n, L- v
  34. if($result){
    % z( x  u+ h0 Z  B$ ~# i) t
  35.     if($result['error_code']=='0'){
    . E6 L" w/ b' A3 g5 m
  36.         print_r($result);
    2 |0 P, j  m6 @( C2 Z
  37.     }else{
    - O1 S# ~2 y- q# [+ r' O
  38.         echo $result['error_code'].":".$result['reason'];
    7 V$ n8 w: d' P" r+ v0 }+ m$ O: l# y/ i
  39.     }% [' K, |: u2 p+ l8 R4 V& y
  40. }else{* w, K, x  J; }, }# p9 i$ C
  41.     echo "请求失败";
    8 ]9 Q" E, H4 q, F: h0 y
  42. }
    ; p' \! l+ R9 i. u
  43. //**************************************************4 o* w) n+ i- X

  44. 7 F- j5 q8 g" ^& W( D

  45. % q/ V- u& e/ o6 }
  46. 3 w7 c$ v" t0 B7 W( i6 B

  47. & M$ s4 Z2 q; M) d0 h9 p
  48. //************2.查寻上传图像信息************
    " K  i5 g# M0 f& x+ o9 {* D$ y0 t
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";; e% W& T* Y' s) ?; b
  50. $params = array(5 z  u8 v1 ~9 B5 O  f
  51.       "key" => $appkey,//APP Key$ ^' l' ?: Z- ~
  52. );. s- F8 t0 j& u) p( ?
  53. $paramstring = http_build_query($params);% Z/ G8 G0 J- g9 u8 H8 X: a$ N
  54. $content = juhecurl($url,$paramstring);
    6 @7 j# Q) P3 E/ t. K7 q9 L
  55. $result = json_decode($content,true);
    ) n/ h$ L9 Z! P; r- M$ ^- V
  56. if($result){4 w; P2 U% L" [* q; l6 ~
  57.     if($result['error_code']=='0'){, o# ?' D# Q9 `  x
  58.         print_r($result);
    6 r1 c. b) P# ~, A9 u
  59.     }else{
    ) C$ ~2 U; `) Q0 V/ m3 i$ N1 ^
  60.         echo $result['error_code'].":".$result['reason'];( X3 x/ D" `7 o0 h% s$ z& r
  61.     }
    0 G  O7 r; e( Q" _6 d6 E+ V/ a' e, O
  62. }else{
    & {8 ?& U& t0 W/ ~$ ^
  63.     echo "请求失败";* @3 X+ G4 o3 z4 O$ ?
  64. }8 r( g; R" @  |7 a+ Q* m0 j, `
  65. //**************************************************' D7 O0 j+ S2 ?3 n
  66. ) J5 r8 O  z! R* j, A5 A
  67. - b, k9 L7 L1 U& F* z. C+ W

  68. 6 h% L" X5 g) A. x) v$ c

  69. ( e/ Z( P- D4 z  K1 o; h
  70. //************3.删除图像信息************. [: ^6 N/ ^( Y) k; c4 m( I$ D
  71. $url = "http://japi.juhe.cn/image_recognition/delete";
    3 v4 ?& @$ i8 y" ~) g4 C0 t) O2 ?- }
  72. $params = array(. D1 m* E4 w( T
  73.       "key" => $appkey,//APP Key
    4 C4 s7 N$ O* g  o
  74.       "imageId" => "",//图片ID
    ! C# R0 h* b& W# w) {
  75. );
    / X: H4 v) V& k, ^# a" j, `/ Q
  76. $paramstring = http_build_query($params);
    , n4 U" Z1 }4 {' E0 U' X' b
  77. $content = juhecurl($url,$paramstring);
    , u/ e$ j1 ^7 K, ~4 [
  78. $result = json_decode($content,true);
    , Q2 k9 a% _& Z3 F+ v& Y. n" V) L
  79. if($result){% _5 W; w: d* S+ q7 a
  80.     if($result['error_code']=='0'){* X0 S1 O; B" K- J0 a  h' Z+ F+ V' i
  81.         print_r($result);
    , L; }# |% b6 ?- w3 u% @& x
  82.     }else{
    # C0 M% r2 \" ?
  83.         echo $result['error_code'].":".$result['reason'];+ d0 y* s+ `; ?8 c9 Z3 u$ b
  84.     }
    " }# b" `/ p7 O" S
  85. }else{. |4 N6 I& p1 M- L3 e* n
  86.     echo "请求失败";
    $ }9 U8 P* ^( j2 T. R& f* [9 q
  87. }: }, j# v% `% f& w
  88. //**************************************************
    0 c3 `$ V0 q( P+ u

  89. + E" Y" N6 r" M* Z

  90. 9 r! R& U/ @6 \4 m4 m
  91. ' c, e* G3 p; _6 i  Y
  92. ) k1 D; B3 H. V* F; \  c* X
  93. //************4.图像识别************0 H2 I# b* z! r# W# m1 ?0 c6 g
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    2 d& V/ t' W8 }
  95. $params = array(& E6 Y6 a; I- [) @$ p
  96.       "file" => "",//上传的图片
    , d) Y# r3 V' @7 T
  97.       "key" => $appkey,//APP Key" e& w$ i, P  h+ H* v! ]' ?
  98.       "pname" => "",//包名# a% D% g. W9 q. R) Q
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    1 a9 `1 m" J1 Z* C' X
  100.       "device_version" => "",//设备版本(如:4.0.3)
    & d/ `3 n( N) Q' b
  101.       "latitude" => "",//纬度
    9 N4 i% K' ?. P% L0 ~( r
  102.       "longitude" => "",//经度0 V3 X2 q. v& r4 Q& g: s
  103.       "uuid" => "",//设备id  s" p3 D& ^: v$ }7 k& b
  104.       "zone" => "",//请求地区
    " x. Y& r% t. j2 o& u" @& O9 F
  105. );' [1 _, q' e7 o1 T
  106. $paramstring = http_build_query($params);0 Y6 p. ]2 c- x' [# u* v- Q! h
  107. $content = juhecurl($url,$paramstring,1);
    - s% u- C0 I" O; z  h  R' J
  108. $result = json_decode($content,true);
    + v% M% Q0 m  B) M( E- y! ~
  109. if($result){! ?/ @$ E5 X9 F. A+ e, r
  110.     if($result['error_code']=='0'){
    3 U1 b$ z3 _1 b" J
  111.         print_r($result);
    ( ^( Z/ }5 p& ^8 A
  112.     }else{( r; B" j$ Q7 T' ^1 N: ]
  113.         echo $result['error_code'].":".$result['reason'];
    , F1 M( m7 |: p3 F( V& }
  114.     }
    # I, Q+ w4 V- [0 I- }
  115. }else{
    " |" L5 c- i* S2 e5 N
  116.     echo "请求失败";
    . @$ x+ T  Y: N" R3 q/ a
  117. }) j- P: S3 g! C8 z+ e7 M
  118. //**************************************************9 ^' Y1 j9 M3 d2 |

  119. . p. V. B( {: B
  120. ' ^6 \1 c' m* T5 I3 [6 ~

  121. ! p5 ]" f1 x4 B* A

  122. 4 m! H* l' k1 W& h2 f
  123. 7 s( T& R( E% X9 b
  124. /**1 ^4 s- ^( |/ b) T
  125. * 请求接口返回内容
    2 ]7 f. X0 _& Z# y2 j$ y2 m. [. S
  126. * @param  string $url [请求的URL地址]
    2 F/ \+ b. q8 H0 ^
  127. * @param  string $params [请求的参数]
    + [/ D- N+ H" ]! E  W! L, r6 R8 L
  128. * @param  int $ipost [是否采用POST形式]
    " ]$ X- z) e0 _# C% q
  129. * @return  string" B3 ?3 W2 w2 R) Z
  130. */+ h1 L& k8 I& `4 c3 Z' \
  131. function juhecurl($url,$params=false,$ispost=0){6 K- Y6 _6 R# P7 |& K
  132.     $httpInfo = array();8 M% Q9 t8 S5 R0 A
  133.     $ch = curl_init();
    , n0 V: e+ X8 h4 _* u3 b
  134. , s* s$ w" I$ j# }% X, z! A
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );0 G# v: P. @& ~! V% z
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );6 n5 K8 J- r3 t$ o) J2 V; O3 K5 F& E
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    + X# k; T8 t+ Q, S7 |- L0 N& }
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    7 w. E. M+ ]% M. k0 l$ Q
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );/ |9 y& K) |& `. ?- [1 U
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);- i9 d' ?' U+ B8 b5 `3 K
  141.     if( $ispost )# K6 H9 n# b5 u' g( `
  142.     {: E9 x9 ^' s% n: b1 S9 L/ {4 g
  143.         curl_setopt( $ch , CURLOPT_POST , true );, M% Y/ v# T! g, ~0 H1 q
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    * l2 c: k# p8 n5 O' A
  145.         curl_setopt( $ch , CURLOPT_URL , $url );+ p6 t$ S1 G2 n# S; n3 q
  146.     }
    + y& ]! L( V( a  `
  147.     else
    ; ~: F' f3 s9 Z. j
  148.     {
    0 E; e8 j) Y2 ]& u% u
  149.         if($params){
    4 |$ C- ^( }, j7 `
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );) {- k3 ~4 A4 q7 M5 n1 c
  151.         }else{6 X. C- [$ \+ S3 E" {* @& d. T
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
    + i' m% [4 H' Y% {( ~4 j
  153.         }! ^3 ~: j+ M; H8 f7 z! C
  154.     }
    - u5 C8 W, ?2 g, O; G4 t
  155.     $response = curl_exec( $ch );
    " w9 ~; G0 B, M7 R
  156.     if ($response === FALSE) {/ N% _! `. y5 @" U2 H9 l( h
  157.         //echo "cURL Error: " . curl_error($ch);
    * R: e5 O5 g& R5 T. z& p+ t
  158.         return false;
    8 I/ i& y- J4 F) m+ i& h
  159.     }
    + Q0 ^9 x3 M1 K. y  ^
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    " C/ q; h# M! D: g
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    5 o5 T) J- |  A3 G6 c
  162.     curl_close( $ch );
    % |( W+ B/ `5 N7 G" F' M4 Q, O; c
  163.     return $response;
    ) x" z7 r3 }# B! o) F
  164. }
复制代码
. v4 B% G+ L! b0 p

6 r1 n* A( y2 F$ T$ G1 ~% D
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-22 21:10 , Processed in 0.118561 second(s), 21 queries .

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