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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
7 {; r4 Y, }1 ]1.添加商品信息
8 E4 k' W1 w* ?; p2.添加图片! o6 |* F2 P: A. r/ l
3.查询所有产品
% z( [5 U) W! c4 Q+ I4.查询某个具体产品信息
4 p$ s3 H0 e4 d: }& O$ I/ I2 V5.删除某个产品
, r  @: x% ^' F6.删除图片2 n- F2 E: U/ l& J# ?
7.图像识别5 q  d% B8 r1 u0 I8 P9 |3 f" Y; m

$ G! A9 i7 C1 ~# F( g$ _图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey4 b4 n! ]* V; c+ v0 }% @- T

/ d) E; x% u2 [9 P  DPHP示例:! X& @1 W: k" G3 ^" ^
  1. <!--?php3 K# o4 g* R( l. i* n/ x  m2 k
  2. // +----------------------------------------------------------------------
    , |# X, @4 d- G1 r
  3. // | JuhePHP [ NO ZUO NO DIE ]
    " i4 T, Q* G% K1 X
  4. // +----------------------------------------------------------------------5 d! C, V9 U% b. P4 {
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    ) y" x5 J0 t; O: a  K2 t1 A
  6. // +----------------------------------------------------------------------
    9 ^9 M0 j& ^5 ?5 |- z$ S! }
  7. // | Author: Juhedata <info@juhe.cn-->
    ) V+ b1 m4 A5 i: n: o' R
  8. // +----------------------------------------------------------------------
    " _! Q9 P' s- O1 h
  9.   m) P1 G& Q# A+ t
  10. //----------------------------------
    - ?" L" d& ~: N# j
  11. // 图像识别调用示例代码 - 聚合数据
    ; J' W) F" v# ?; Y: Y& M
  12. // 在线接口文档:http://www.juhe.cn/docs/117/ J( a1 ]5 U/ k4 k
  13. //----------------------------------
      [/ `! n; O+ F
  14. + Q# f  D. ?1 B) B
  15. header('Content-type:text/html;charset=utf-8');
    6 K( d9 F/ P& n

  16. & f# y' q, A4 |0 @, e4 f7 h  B
  17. ) u) i/ G! J: s3 p* |
  18. //配置您申请的appkey
    & c$ Z6 ~9 c& n! s! Q
  19. $appkey = "*********************";# |6 R- q& `4 Y6 h
  20. # h- n+ W8 c; i9 ?6 \5 r% o& N0 V" p
  21. * J3 O8 w9 s1 z/ i
  22. - S" Y: }( v5 _
  23. ( d$ p. s; `" b6 L; K" y
  24. //************1.图像上传************
    1 T4 t5 G& d* X
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    8 t" Q$ j& m# l" Y
  26. $params = array(+ ]! r' X3 C! {6 `
  27.       "file" => "",//上传的单张图片6 \) r( G; F1 h4 E: R$ C& x% G
  28.       "key" => $appkey,//APP Key
    3 r) N; ^, c+ ~+ G( r7 x
  29.       "pname" => "",//包名
    6 g) P9 s1 w0 d' X% x' G- [
  30. );; f  F0 O' y1 x" e' G3 L9 R, }' s3 y( l
  31. $paramstring = http_build_query($params);
    3 G) Y; Z2 @, {8 f* ^2 w" e
  32. $content = juhecurl($url,$paramstring,1);
    ; C+ R  _# v% N# U" B1 u* r* g
  33. $result = json_decode($content,true);
    ; X8 i% }3 x5 [" u# N- L' y* ^
  34. if($result){
    . {2 E8 N' h6 K# P
  35.     if($result['error_code']=='0'){# x# ?1 q8 R# }* p2 {& n
  36.         print_r($result);+ p# ]: B- @( ?* W& o0 X
  37.     }else{
    4 ]- X# }% w2 z- {- X+ N
  38.         echo $result['error_code'].":".$result['reason'];) s2 c6 P; V. d( t
  39.     }
    ) e$ u. ]1 S$ q( s& M" A) H: ^
  40. }else{7 x; z* N0 [, g
  41.     echo "请求失败";& d" h( N5 m  Q$ X( L/ U' K$ b! ], ]% s
  42. }5 B: C% [  v9 r6 p# F2 k
  43. //**************************************************. ?" E% @% |+ F

  44. 9 P! a0 z/ D% @4 T) T

  45. + k5 N# c2 E2 k/ T! ~

  46. / R8 C- K. m: c" N4 c$ F

  47. . G3 D# D  s3 f4 y2 y# g
  48. //************2.查寻上传图像信息************
    8 s8 D. p6 j' K4 i
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";2 h# l' o, k, |
  50. $params = array(
    - K( t/ B" o  X2 q" ~* {
  51.       "key" => $appkey,//APP Key" u8 n% w. ]% p# e, H
  52. );9 [% _# `9 M# [0 [; e" e
  53. $paramstring = http_build_query($params);
    ( Q+ f* [) b2 n0 C+ F& c& Y
  54. $content = juhecurl($url,$paramstring);
    , ]7 t. l; k# V$ g
  55. $result = json_decode($content,true);
    % @' c5 `: N- s, |% }  A2 U7 ]
  56. if($result){' @- d6 M! B0 L, J; Q: B& W
  57.     if($result['error_code']=='0'){
    , L4 w0 S3 _) e3 }: g8 l! Q+ l! u
  58.         print_r($result);* p# b% f7 s7 ?
  59.     }else{
    # _1 _& F$ _+ H5 e
  60.         echo $result['error_code'].":".$result['reason'];) R- w2 R* \4 v$ {! Y
  61.     }
    6 m1 l) V6 e5 [2 a( `* x6 ]
  62. }else{8 }+ t" l7 w/ ]8 ?
  63.     echo "请求失败";
    2 t: Y$ L( g/ w* w' e: S
  64. }+ Q7 ?! _2 ~+ d
  65. //**************************************************
    * W. y$ w! }" h& \8 N( @
  66. 9 H8 z3 N: _# b. ?& `& y

  67. % X; d' g1 J! \* L8 d2 J

  68. % Y9 u; _2 \* W) _
  69. 6 a, ]6 m# c% x* X  H. }
  70. //************3.删除图像信息************8 T( t. @$ J3 F5 R) j! B
  71. $url = "http://japi.juhe.cn/image_recognition/delete";7 A% @& z. A: Z" ~
  72. $params = array(0 y! |! i# w& G4 S+ m
  73.       "key" => $appkey,//APP Key
    ! O+ K" I+ j( j! W$ i: @- E5 z; \
  74.       "imageId" => "",//图片ID
    $ c' |" b5 Y% |
  75. );
    , G1 M& ^4 L5 `; d; i, N
  76. $paramstring = http_build_query($params);
    , J7 q$ D# F, P! q6 ?: V
  77. $content = juhecurl($url,$paramstring);% k2 t" m3 @* o# A- G
  78. $result = json_decode($content,true);2 [* N5 E0 {4 P! O+ B( X5 V
  79. if($result){
    2 X# I! h" L+ F4 w
  80.     if($result['error_code']=='0'){
    * H. J; A7 @' v. Z1 j: p
  81.         print_r($result);4 o' d  z% P4 _/ W
  82.     }else{3 c6 n: q6 Z# g2 w: e9 @3 N
  83.         echo $result['error_code'].":".$result['reason'];! w0 @) ~( p6 l! f
  84.     }' O7 w2 n6 J5 B$ Y7 T
  85. }else{
    . {( j) x4 W. W
  86.     echo "请求失败";; C" c0 G: F: G7 p: s3 a( I: n. v2 I7 h
  87. }
    : `$ `2 c, l7 @+ M$ j3 s
  88. //**************************************************# V! Z) y# p$ v3 _  _

  89. " n& N; N2 s7 K+ l% J2 x
  90. * B0 A# Y+ }$ d" a8 K, a" S2 G' i) Z
  91.   G, I" P: Z% [  r
  92. " V; h  F. V- h: |& H5 x/ Q
  93. //************4.图像识别************" Z" M- b6 q9 O' U& ^- H# r; z
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    ' ]' j8 @9 [. z0 e- u$ X, O- Q
  95. $params = array(9 Y. d5 H5 `3 a3 e" I, `( V$ H9 l4 ^1 T
  96.       "file" => "",//上传的图片0 s5 G$ l2 k6 h" d' Z0 |/ S
  97.       "key" => $appkey,//APP Key  \4 S4 f2 m9 B, n; @! L
  98.       "pname" => "",//包名, S* b$ a7 k& l3 r
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    2 }0 _( }* y, U5 H: W, _; `# T/ W
  100.       "device_version" => "",//设备版本(如:4.0.3)
    6 g# K7 a- {4 x1 `
  101.       "latitude" => "",//纬度1 N2 V& W/ _1 r9 N' ?/ B; ~
  102.       "longitude" => "",//经度9 Q# s  c+ F( J. t) {* y1 a
  103.       "uuid" => "",//设备id- t  q; L- Y% Z
  104.       "zone" => "",//请求地区
    + s4 t! {5 O3 j
  105. );  |0 R1 I: Y0 D; ?
  106. $paramstring = http_build_query($params);( r& d: s1 `. M* S6 \
  107. $content = juhecurl($url,$paramstring,1);6 S* B6 g6 l. ?, t8 o
  108. $result = json_decode($content,true);! Z9 t9 n( ~4 e# {4 [" }# o
  109. if($result){4 I. X9 u0 p. C, r
  110.     if($result['error_code']=='0'){
    & t8 D1 B1 F6 z5 B- _* J; ]$ r
  111.         print_r($result);
    " t  a; ~8 U% m4 z5 d
  112.     }else{% D8 e3 Y" [. T( O: l( r
  113.         echo $result['error_code'].":".$result['reason'];; C4 C* |7 V" T8 O6 _
  114.     }
    & X( V8 K; _% I0 c7 z4 b3 @' @& H
  115. }else{
    8 L( ?* @* w% @2 ^
  116.     echo "请求失败";4 F. G& k! v+ D; P! u2 }0 B9 j
  117. }
    # `5 H8 M- [5 d4 V5 Y
  118. //**************************************************5 ]1 V7 x* s5 {7 S4 g0 W
  119. 8 h7 G$ J- @3 o) @2 p5 B

  120. 8 P/ H) @( P9 F  D2 y+ w

  121. $ G9 X* g. x% `# x9 |+ ]
  122. 1 M) k2 ~8 c. O7 B0 Z+ [: N' I

  123. * A; v( M4 B1 j8 F0 p0 B, O% a3 W
  124. /**: n$ m" Y. p) ?; j" H. m
  125. * 请求接口返回内容# q# }" O9 `0 I
  126. * @param  string $url [请求的URL地址]) F3 n& t$ j  Z4 n
  127. * @param  string $params [请求的参数]
    9 G! G! ?8 W4 `" e: L
  128. * @param  int $ipost [是否采用POST形式]
    . M& W  D( W( c: s3 w
  129. * @return  string
    2 ~" h5 q7 d0 R2 R- G" ~
  130. */
    7 M1 p9 t' d; Z9 j7 O
  131. function juhecurl($url,$params=false,$ispost=0){/ P+ k2 x, K. @1 H# w0 ]' v" r
  132.     $httpInfo = array();
    9 ~" q+ |. R# |! s0 U% Z" O
  133.     $ch = curl_init();
    % U; }" o' A* M/ |: w6 a
  134. ( R8 U0 {" E  a- x$ d
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    # S2 G' q7 e/ z+ q% @
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );* Y. ]4 t/ V9 {* i/ c# R
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );& q# A$ Q; S, k
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);( \* P# Q& l6 \! Y7 o+ U
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );# Y6 C: M" u' k7 h# G0 ?: _' |
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    & W& K; U4 e- z% Y( W) C5 c
  141.     if( $ispost )
    ; p# i% [: c! l  M3 l1 F# Y
  142.     {
    * b: t: z. ?6 i% j
  143.         curl_setopt( $ch , CURLOPT_POST , true );. T2 M. q2 f2 H5 U" T7 k
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );" ~* q2 X, X! L+ ?
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
    ' T- M0 S0 [5 U' h+ r/ \' M
  146.     }
    , T; u) Q$ F! ~1 S. W. W. h/ r  B
  147.     else
    ( k: y! C% I" S- [0 L+ C3 t
  148.     {
    4 G8 I: C. b: K" @  y& i
  149.         if($params){
    4 G& B, g! {2 J) _
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    / l7 O- Q) G' C; x  j: x
  151.         }else{
    6 `8 G' R6 `% G0 Z& s4 Z  c
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
    8 l4 x: F( l: A- K. U
  153.         }
    , X0 ^2 ^3 w/ m9 j! g9 h; R
  154.     }
    8 y8 m" M1 o+ j: \3 z. c
  155.     $response = curl_exec( $ch );1 x+ H  R4 `) t9 C
  156.     if ($response === FALSE) {' p1 L) X/ W- a8 J
  157.         //echo "cURL Error: " . curl_error($ch);
    9 g4 B. W9 z$ d$ J# I* d5 m3 k
  158.         return false;% e! U2 D3 o. f' S
  159.     }
    1 m! r0 x/ R. Y2 T+ v
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );5 S- A0 O! g* F* p2 G9 M/ r; ?  H
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    & d: L  B7 ~; H7 l
  162.     curl_close( $ch );
    $ E# J. m- p" a8 T5 E7 Q
  163.     return $response;! W% P3 Z& ]- X* N* ~" L* y
  164. }
复制代码
' J5 |6 E* V3 q; L9 U# ]

4 u8 [0 p& k1 S  T& [% Q. ?! F) B
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-17 12:18 , Processed in 0.111355 second(s), 22 queries .

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