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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
* n$ w! O' P0 z: }1.添加商品信息$ K9 u6 ~' M0 q  {2 ~- E
2.添加图片7 l- \% P' y; ?9 N+ ?
3.查询所有产品0 A4 ]9 V' |( C. ~/ {
4.查询某个具体产品信息
7 r. k8 _( M; q: R5.删除某个产品
# ]3 R% I0 x8 J2 O+ h0 I6.删除图片3 J& V3 C" U1 D6 l$ g0 L/ v9 e) f3 z
7.图像识别4 j+ ~  Z, a8 q5 K9 f

! `; u/ U3 ?! @7 [" m6 N图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey( B2 r1 ?/ W) P  O' p/ e

. F/ C, S5 c2 h- q- w9 t6 w9 F" rPHP示例:
: }0 F3 t7 Q' T2 B1 d& Q
  1. <!--?php# R8 E. ?& ~: V- `- s$ S0 A0 G/ h
  2. // +----------------------------------------------------------------------
    ! o, Y( z' D7 \3 `2 O' j
  3. // | JuhePHP [ NO ZUO NO DIE ]
    ) G3 P; S# |) l! N& Q; N: c9 L
  4. // +----------------------------------------------------------------------
    + G$ A; i; z+ ~( A5 f! B2 ^7 S% P
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    9 `  l, b( P( B# `' K) x; H+ v0 Q
  6. // +----------------------------------------------------------------------4 M" q5 n& }) {2 i2 P2 ^2 n
  7. // | Author: Juhedata <info@juhe.cn-->
    3 |+ C  n5 J. ?" _: z1 C
  8. // +----------------------------------------------------------------------( {9 y) t& W$ H  d- ^
  9. 7 x2 z% D: Z, f0 e8 I! O! L$ k
  10. //----------------------------------
    : |4 T& V; M% I0 z! P
  11. // 图像识别调用示例代码 - 聚合数据
    " _; K0 f: Y2 y
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    4 x2 @- \3 y$ X0 J# }( p
  13. //----------------------------------0 Q8 ?4 c7 [/ a0 P# e

  14. ( {+ X9 w6 I# v  z
  15. header('Content-type:text/html;charset=utf-8');
    & @( ~3 u6 |$ R  \- B

  16. - p2 f" m: ^( o0 F  y

  17. ' a7 P; c' F% |" ]/ g9 D
  18. //配置您申请的appkey& V4 d8 d1 |& M! y' G) @" M
  19. $appkey = "*********************";
    " k) l/ v) R; X7 L* i6 @: f3 Y' Z- o
  20. / i) v8 \; _/ g1 m
  21. ( {+ ^( v  L+ m( j
  22. ) s; P! r1 S) Q, h) G5 B. s
  23. ' A5 N. Y( o# k! G. X5 e
  24. //************1.图像上传************' K* |  \. a4 J% U
  25. $url = "http://japi.juhe.cn/image_recognition/upload";$ p: Y2 d0 Z5 ]
  26. $params = array(& U: R: R3 N! s+ `
  27.       "file" => "",//上传的单张图片
    5 v- ?' B( l" W5 G: l. j2 C& K: O$ X
  28.       "key" => $appkey,//APP Key
    9 X9 ?4 P) p% B& z; Y3 y
  29.       "pname" => "",//包名
    0 D1 D! [! S% k' _: ?& B4 Q
  30. );- A' y% u3 f+ o: _6 ?' X# z
  31. $paramstring = http_build_query($params);( o# v$ s9 A& @& z
  32. $content = juhecurl($url,$paramstring,1);5 X, k3 a7 |; O$ n
  33. $result = json_decode($content,true);- m) _1 E" @6 n7 _! h
  34. if($result){
    - d9 u3 K3 W' [  v" k
  35.     if($result['error_code']=='0'){! g! c2 Y" I% D# H5 |
  36.         print_r($result);
    ( U6 [$ X. a5 y
  37.     }else{
    9 H6 V$ C' u+ g9 o: M% i( p
  38.         echo $result['error_code'].":".$result['reason'];( @  B6 k+ H2 ~4 m
  39.     }9 \9 _( z2 D0 X, e9 f& ]3 H: M
  40. }else{
    7 j* H  j# h( {0 w! N, ]
  41.     echo "请求失败";
    . D/ C# g( j! j1 {7 w* s' o
  42. }
    * u5 w0 w1 G' o
  43. //**************************************************
    ! m8 f8 i. A, z7 c) E: K7 V

  44. ( i. b' @. _5 j
  45. 3 n& w+ D; ]9 u4 o

  46.   U9 ~0 O! I$ i3 y
  47. ! D, M6 X! u  T' a
  48. //************2.查寻上传图像信息************7 f: M) L7 P  V
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";: v  I! R# w. z" k7 ?3 W! g' G7 G) n( w
  50. $params = array(
    ) w& |6 y* M  p  @( L- Y/ B9 s. i" C
  51.       "key" => $appkey,//APP Key! K& r2 V% p) t1 Z- ~3 [$ d
  52. );% N- w+ q9 b# M  c
  53. $paramstring = http_build_query($params);2 R# T) k3 E; S* ^0 ]3 j
  54. $content = juhecurl($url,$paramstring);) x9 s5 m) ]* @. w6 P+ d
  55. $result = json_decode($content,true);
    * L3 @2 @* y# u( q1 K" R
  56. if($result){
    + h6 Y& i; x1 k& `7 K
  57.     if($result['error_code']=='0'){
    ) K& Y( s( d4 y7 o0 W; g
  58.         print_r($result);) A" `9 H7 l/ w. R8 T6 i5 z
  59.     }else{, Z! L3 Q. `' G$ X6 o
  60.         echo $result['error_code'].":".$result['reason'];
    - {( {8 [# u# A
  61.     }' l% `  H+ b. T; h5 G0 E7 l& p
  62. }else{
    . O9 \/ J4 ~1 \! A; q& m
  63.     echo "请求失败";
    ( x* m6 `1 y4 w. b3 z4 X
  64. }
    ( p) `7 U0 m% p8 i0 r  ?4 D& x. J7 E
  65. //**************************************************' T% D: ]7 A9 t  ]+ l
  66. ! u5 Q$ \0 O- F+ V8 b

  67. . i, D: S0 q/ ~& G
  68. : G5 P7 r7 V7 d5 z. y, I6 K

  69. 4 x5 c! x% s5 m7 V
  70. //************3.删除图像信息************* L& t) r8 R) C
  71. $url = "http://japi.juhe.cn/image_recognition/delete";
    ! }5 f. p7 O; {5 z. j% P
  72. $params = array(
    , \' E, I0 H: g1 K- O
  73.       "key" => $appkey,//APP Key; K. B. W6 f  c7 q5 W
  74.       "imageId" => "",//图片ID
    5 H( `1 j$ T* @2 x" U1 D. j! v
  75. );: D& \' b9 h" a# z' p2 a5 ~
  76. $paramstring = http_build_query($params);
    & |" `2 e; X3 o' w7 Q9 x
  77. $content = juhecurl($url,$paramstring);
    & T% ?5 n  W) t# N9 r& v
  78. $result = json_decode($content,true);* ^4 r! v! n: j! o+ v
  79. if($result){
    1 p: U3 G" Z8 j% s) J0 X
  80.     if($result['error_code']=='0'){
    . @) V/ M; e) e' E& a- j
  81.         print_r($result);& |( ~/ I; t# A7 a
  82.     }else{
    " @" D+ c2 K- Q9 E  O
  83.         echo $result['error_code'].":".$result['reason'];
    3 }+ x; u4 R& R) F: \  S
  84.     }7 h% S' W# H9 Z1 R7 ~
  85. }else{
    3 c$ S5 i1 f/ p- Y
  86.     echo "请求失败";
      V4 T1 o9 k+ H' J
  87. }
    + I  Z, M8 c0 X& y: [. ~. D4 e
  88. //**************************************************# R& D* D* U" T$ M
  89. : g) E: S+ K1 o$ J- g
  90. $ V$ Q3 o0 u" E" N
  91. : T  E3 x' Q: X4 w

  92. 4 Z2 m# k3 J; w$ \
  93. //************4.图像识别************
    & ]' m) U* v8 P- }  g: }( m. p
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    0 W3 ^9 T* ^6 F( n
  95. $params = array(
    + I, T# p, C% q" [( l" b5 h6 _: z9 p
  96.       "file" => "",//上传的图片# F5 D1 O+ n% X8 [$ u6 }
  97.       "key" => $appkey,//APP Key& c$ O$ M8 d# t8 d& ?
  98.       "pname" => "",//包名
    " [  n  {  B4 b( E5 g- ]2 E! i
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)0 E# n5 T. ?% T, \2 A/ h& y5 X
  100.       "device_version" => "",//设备版本(如:4.0.3)
    : p" R" V( T. J/ t1 A8 y
  101.       "latitude" => "",//纬度: u; J2 u# L: p% ^1 k
  102.       "longitude" => "",//经度
    " x  a! {! ]6 ?- q, X+ e# }" z
  103.       "uuid" => "",//设备id
      ^9 N& d4 P% e. ?/ Q7 u
  104.       "zone" => "",//请求地区
    $ P' T8 B' s5 L3 L2 g
  105. );
    ) Q/ Z, e! A: M! @# x! A/ t. O" N
  106. $paramstring = http_build_query($params);
    - s* u1 J- s- E
  107. $content = juhecurl($url,$paramstring,1);4 z" W8 @6 b1 d5 d0 D+ ?
  108. $result = json_decode($content,true);
    4 W. C6 i$ v; @7 j" ^$ m
  109. if($result){1 {7 t! S, {2 j5 T; H! |
  110.     if($result['error_code']=='0'){  @/ }( k* w9 v% M) z
  111.         print_r($result);
    ( y0 ^5 _. W' V7 k, i$ V
  112.     }else{0 E# d# n' Z; y* T& H  x; V
  113.         echo $result['error_code'].":".$result['reason'];5 H. y4 Q$ F1 {9 Y
  114.     }1 ?  s8 O3 E! V& |
  115. }else{
    ; N* Z; G8 b0 [5 V4 \& A' O! _
  116.     echo "请求失败";
    , @6 M% r' Q, y  k  v8 O+ o" b6 B
  117. }: l5 y0 R1 {3 J: {4 d, \
  118. //**************************************************
    . O; \3 z/ _  N

  119. 1 F6 d( B5 T2 l: J
  120. / z2 b6 x$ P, v& t/ _/ A
  121. 8 R# y& Z+ `8 G- X! }! [* O

  122. - i# ]6 d9 d/ j- }9 P  G+ N
  123. 1 e$ W3 y) e) G
  124. /**
    ; @; G: X$ F  s2 h
  125. * 请求接口返回内容
    6 U) y$ m4 Q9 }) P7 b9 H: W
  126. * @param  string $url [请求的URL地址]' F2 x4 k& R6 t  |5 ]1 \9 M) h
  127. * @param  string $params [请求的参数]
    4 ~) E8 Z; N# M
  128. * @param  int $ipost [是否采用POST形式]
    7 V2 y& a$ e' w" |/ M- |
  129. * @return  string
    9 x6 D. c. G" |7 ~/ c8 \
  130. */5 K  @- N6 {/ Q3 q' w0 z
  131. function juhecurl($url,$params=false,$ispost=0){
    ! R- L# X6 `) i" b2 z% V
  132.     $httpInfo = array();1 o! t& L+ A7 v4 S# e# L
  133.     $ch = curl_init();: j. b/ \& ]- t% m# T8 F& @% K% j

  134. 0 c1 k$ S- C6 ~) F' T8 h1 @. E
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );% c/ b+ d8 T9 E' Z! k) g5 o4 R! o+ r; f5 t
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );* S6 Z. L& Y, J
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );  n% g; T6 ?% h0 ]* ]
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);/ m2 X" |. [  x/ V& I' X% L
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    , o: Q1 T  v  d5 C2 i
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);9 m$ N8 E5 w: p) X# f9 c6 U
  141.     if( $ispost )
    % X+ e4 w8 U" @( T. K8 `
  142.     {! n( }8 N3 R$ `7 r. Z
  143.         curl_setopt( $ch , CURLOPT_POST , true );7 Z5 d( d) x; F( A1 f
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    9 I" d6 G" w* L5 m9 D
  145.         curl_setopt( $ch , CURLOPT_URL , $url );0 A  \: b% Y/ ]0 s3 H1 K5 X7 b
  146.     }
    9 h1 w* H# p) i. g; l/ Z; d6 B# y& E
  147.     else
    ! u# E+ t" L" b
  148.     {
    - b0 M  ^$ Z) |
  149.         if($params){: ?/ L* e& F  Q  H1 t1 b
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );7 X* t! O4 b+ K$ h* u
  151.         }else{' c5 u" k: r+ }/ K: y
  152.             curl_setopt( $ch , CURLOPT_URL , $url);& ^4 T6 O" |! T2 }. _# ~$ P" k
  153.         }& B  R: o1 H8 _  g7 \! ?) |
  154.     }
    1 S( j1 y% G! c% s4 x
  155.     $response = curl_exec( $ch );/ H6 e+ M7 r+ `5 F0 v: w4 e
  156.     if ($response === FALSE) {
    8 e. g' H$ g1 x( ?! }! e+ `
  157.         //echo "cURL Error: " . curl_error($ch);
    * U' }: B1 R2 F; ]9 K" @' W5 d3 G
  158.         return false;
    0 h8 L1 m# \/ M4 C- R) o4 X
  159.     }( Q$ s( f+ A8 r; q5 j7 A! h
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    . }' o0 }3 c0 ], i' Y) j+ Y
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    . l1 e8 V- k8 U
  162.     curl_close( $ch );
    , w! j" K5 L, a( s* s& b) A) q
  163.     return $response;" M( L5 H. C( V/ s3 q
  164. }
复制代码
; E0 ?, k+ F; x4 X( Y
: y  n$ u$ D: r5 N  D8 y
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-16 19:00 , Processed in 0.059511 second(s), 19 queries .

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