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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
5 M2 d5 F/ R6 z  T/ w6 S9 D1.添加商品信息7 P' k4 A" c; \: }$ V# H2 K& w8 u1 x, O* g
2.添加图片6 P! _, L# U: y/ ^
3.查询所有产品
' X/ X, ^9 j0 Z4.查询某个具体产品信息$ W+ \8 J. k5 p9 U+ j" W
5.删除某个产品3 A7 k! O9 W. P& d
6.删除图片; Q+ i' i6 B8 H' D% N' Y
7.图像识别" j# z. z7 ?) l/ x% G

3 |+ u/ `# o2 N- C# t! W图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey/ M9 ^( x! o2 F- z
) h8 r+ a# e+ C* B/ E  v/ p4 c# M
PHP示例:
2 X+ U+ t  S' e. Y$ j1 l
  1. <!--?php
    " H7 q; _2 S( H4 j; `/ S2 g
  2. // +----------------------------------------------------------------------/ O1 W& z0 R5 {$ m2 w* _
  3. // | JuhePHP [ NO ZUO NO DIE ]
    & n# k2 R" q0 [, J0 C
  4. // +----------------------------------------------------------------------; a* A/ h* j% _9 A' Z7 d* T6 B# ^" j3 `. V
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    ! N+ s- M1 @# D, ^5 X/ }# Z. W# ]
  6. // +----------------------------------------------------------------------# W' o* {# {% w) c/ W
  7. // | Author: Juhedata <info@juhe.cn-->5 t$ ^* D& `6 ]& m) R
  8. // +----------------------------------------------------------------------( w+ s, g: N8 E( l) @0 N3 n
  9.   Y5 B- H6 a& t7 v9 C/ O9 q
  10. //----------------------------------7 z/ E- [5 u4 D7 R* b) W" Q
  11. // 图像识别调用示例代码 - 聚合数据. X: P, Y/ X  Y6 O
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    9 P) r. {6 L/ n9 s/ T3 R
  13. //----------------------------------7 E, e  p' ?: T
  14. ( a# H3 X7 R5 [# y: F/ V3 h& i6 G% W+ s
  15. header('Content-type:text/html;charset=utf-8');- u- A: `; H. m
  16. 4 z' o2 @1 O% R" \1 \( S

  17. : H! H1 Q" `, H5 p7 d
  18. //配置您申请的appkey
    9 s3 c. k. u2 P2 P3 `
  19. $appkey = "*********************";
    $ Y$ K6 w1 U% }/ i/ \2 n9 V
  20. 6 }* B8 }! }  F# r. l
  21. - B' \2 i0 h# U$ v/ h' f

  22. 6 d7 N% y6 J5 u# \  I' _* d! U

  23. / O, X" E( L" |0 z1 j( U
  24. //************1.图像上传************3 u  N; K3 L" Q, t2 k
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    ; S/ B7 H9 {. w. d- X- w. d
  26. $params = array(
    + P" U& y+ {. [- h5 o
  27.       "file" => "",//上传的单张图片: A2 F6 Y$ V' k6 I
  28.       "key" => $appkey,//APP Key
    5 w, q1 Z; u6 A
  29.       "pname" => "",//包名
    1 j( d5 D/ ]7 O4 |- s0 o4 ?
  30. );
    ! w% N3 h' Z5 L
  31. $paramstring = http_build_query($params);+ k1 n- a! L  c( R- ]9 i
  32. $content = juhecurl($url,$paramstring,1);+ k. V% ^5 m6 C  z
  33. $result = json_decode($content,true);
    ; y" j: C1 F5 H+ w
  34. if($result){
    , c' d" ]5 f+ x" s; Q( x
  35.     if($result['error_code']=='0'){/ ]# g% w3 W) a5 u' a" o
  36.         print_r($result);
    3 z$ Q6 L. j0 F0 |! j2 x8 x' H
  37.     }else{
    / d3 N( b' V" p( J* `7 Q
  38.         echo $result['error_code'].":".$result['reason'];5 S: K/ ?4 D: V+ S. V  ]; R' x
  39.     }. y" L' a# B! d( ?  n  t8 o- W
  40. }else{
    # o& z, M6 m* n% m
  41.     echo "请求失败";1 ?. }6 a( a8 D( _
  42. }
    3 Z- I: ~9 M5 G) f: Q& Q
  43. //**************************************************8 s9 [8 _7 i! P3 v& {; j: t

  44. # k6 B, ~9 p6 H: d- o
  45. ; a7 s1 Y; m- B0 {0 i) J: t
  46. ' F# M3 q, Y0 Q* g

  47. + f! |* x/ d( K! x  Z3 N! V
  48. //************2.查寻上传图像信息************
    - c  J0 y* C: @, `. x1 L
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    4 h1 x- h" v7 j$ M+ ]: {. x
  50. $params = array(' B. E. E; t; \2 P6 U  O
  51.       "key" => $appkey,//APP Key
    ! \3 R! ?" |1 [+ _& B4 F
  52. );
    0 t6 X( G. ]" Q9 N4 ]5 \% E$ v
  53. $paramstring = http_build_query($params);: E/ t& f4 \1 i2 b+ D# V
  54. $content = juhecurl($url,$paramstring);( @) N% n! r7 c5 F8 H2 s. }
  55. $result = json_decode($content,true);, z2 c5 o3 M! @/ {' m
  56. if($result){
    3 p8 y  j0 P2 m9 _9 ]; ^
  57.     if($result['error_code']=='0'){1 Z, I$ I5 i; y( ?3 I: H
  58.         print_r($result);2 {( X; r8 y% Q, b# b
  59.     }else{* w) Y1 V! A% j
  60.         echo $result['error_code'].":".$result['reason'];
    % S0 ~  ?. Y' p( I
  61.     }% }- \+ r$ ?- p
  62. }else{6 G8 g$ O" Y$ V( X. Q. O% O
  63.     echo "请求失败";
    7 ]6 L0 \% w9 n# \
  64. }7 V( ~! I1 {9 J
  65. //**************************************************
    / ~0 v9 M2 I2 q! {4 a
  66. ) N- A( [3 r) e2 E$ n' n: m

  67. 3 f! ^: B3 f" C  |. r+ {3 d) a5 d' Z- U7 q

  68. ( L/ x0 o0 i0 a- L1 I3 T4 |
  69. 7 |% u7 i; H  E/ S
  70. //************3.删除图像信息************& w( l! a9 N1 q0 c6 [9 h
  71. $url = "http://japi.juhe.cn/image_recognition/delete";$ B5 @: w0 r5 s6 K
  72. $params = array(8 T6 P! K6 p4 h3 b
  73.       "key" => $appkey,//APP Key
    1 o* H1 e2 }$ `1 U) |: D8 y1 [
  74.       "imageId" => "",//图片ID
    ( y- b# s0 R7 r" f0 o. k
  75. );) k* B  M) Z. v' v' e7 M
  76. $paramstring = http_build_query($params);" x7 V# z' D* o
  77. $content = juhecurl($url,$paramstring);/ Q: W& f3 }, a( C
  78. $result = json_decode($content,true);! V( l1 c" Z+ x6 N4 B* [( v
  79. if($result){( I$ R# S! i( Y# q8 t
  80.     if($result['error_code']=='0'){
    / {9 A- l  h  T* K1 m& \
  81.         print_r($result);. G1 F6 q+ I" q* r* P
  82.     }else{0 ^0 X( G. l. V& }5 a
  83.         echo $result['error_code'].":".$result['reason'];
    ' |: k- P* O( S: x% Z3 K
  84.     }
    ) \$ k" f; G. w2 P8 x
  85. }else{2 N5 u1 G, A$ U
  86.     echo "请求失败";
    + d4 X9 ~! w* @* F3 c% e8 X
  87. }
    + g, I9 E! s# \5 Z
  88. //**************************************************' M( R/ ^' N7 ]

  89. 5 A/ _. `5 @4 C* w/ e6 Q* ]! Q
  90. ; J5 o9 A4 C+ B

  91. 5 h, D( @, q8 o* ]  A% G
  92. ! i$ c( `+ d$ K. u4 k2 H
  93. //************4.图像识别************; V% K/ w2 S6 S. z
  94. $url = "http://japi.juhe.cn/image_recognition/check";2 O# n7 Q+ z) R6 |) z$ K
  95. $params = array(! l; l* Y! K9 V$ q! L
  96.       "file" => "",//上传的图片8 ?2 J' ~) i5 m5 d) E. Y* ^
  97.       "key" => $appkey,//APP Key: W, ^1 ~3 Z/ ^9 p$ b
  98.       "pname" => "",//包名1 I  `3 f5 i! i, L! A  Y  t1 v( e
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    * u0 _0 T; h( y
  100.       "device_version" => "",//设备版本(如:4.0.3). f2 t, _& k' {& T
  101.       "latitude" => "",//纬度: x4 Z% ?' S6 U# L
  102.       "longitude" => "",//经度3 q; i' y' Y& J5 A. O! {% E/ F6 j
  103.       "uuid" => "",//设备id
    ! _* ~1 t& L  k- b6 K0 Q8 @" Z
  104.       "zone" => "",//请求地区) K( m. M: u7 h+ P' m
  105. );
    ) z' {% ?& l; @' R1 d4 p/ H9 z- P. x
  106. $paramstring = http_build_query($params);
    - W3 ~; s, O* k
  107. $content = juhecurl($url,$paramstring,1);4 D0 o. ?! i8 \+ c
  108. $result = json_decode($content,true);5 s- N2 U& L2 i6 m2 c1 E& D
  109. if($result){9 U; U- c% v( L1 z; x) P# B
  110.     if($result['error_code']=='0'){$ s! |- B5 p) d% a5 R/ A
  111.         print_r($result);  D+ o8 |% D' @0 P0 ?
  112.     }else{
    , W/ F7 O" ]) ^* y" [# C
  113.         echo $result['error_code'].":".$result['reason'];
    4 V7 J5 `. G! R3 z& ~
  114.     }
    , \& N9 ]# q* O' n# E
  115. }else{9 I! u4 p, R/ E) x
  116.     echo "请求失败";: O9 B* N5 s1 ~2 F2 y1 C+ s
  117. }
    : n$ y) n: F# A( J1 m
  118. //**************************************************3 p6 }5 |0 w8 S! G& y$ x& O5 _

  119. ' D# q- v3 B- I4 T3 z, R8 [
  120. - O" L$ T8 Q! l$ ~1 Q* {

  121. " ?1 V. k9 p+ K9 E$ d1 K4 x: h

  122. , P' y. U' {3 {" }  g
  123. * E0 f/ [8 Y+ V( d4 u& Y- L
  124. /**0 k4 K, Q4 N) {* c$ }
  125. * 请求接口返回内容
    8 t* ?7 M) ?& }& l& ^$ ^7 X% @
  126. * @param  string $url [请求的URL地址]
    : ]/ N& c! @: p
  127. * @param  string $params [请求的参数]
    " ^, h1 V. e- I% y4 g$ o8 B2 A: Q
  128. * @param  int $ipost [是否采用POST形式]
    1 A+ \8 s% Q7 C2 M
  129. * @return  string
    3 `5 b; I) S1 h) E
  130. */0 @8 Q! {$ D" ?# J7 l
  131. function juhecurl($url,$params=false,$ispost=0){
    $ u/ a3 M: y2 X3 \5 I) ~6 H
  132.     $httpInfo = array();
    * v+ J8 L& H0 m; z) y# F( R
  133.     $ch = curl_init();. k" e, {1 ~0 N, `* O# g" v, }
  134. ' @) R; g0 N. m5 D; V
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );& t6 L( Y& x& e
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    & h- v# [) R: {; N7 V
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    9 O2 X# r; y/ l5 i& R
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    " n) c7 I- S1 c  K" ?  n% ~: q
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );# |5 z2 R/ u8 L) S4 R
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    1 Z; W' B0 h5 P% ]" G6 ]& q; y
  141.     if( $ispost )* }; j% Z1 f( e' w. X
  142.     {6 z* c' j  R0 a
  143.         curl_setopt( $ch , CURLOPT_POST , true );. M. l4 O- Y! J- c! H/ I) A
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );" L7 M; W. k# U7 t" i( S' N4 G& {
  145.         curl_setopt( $ch , CURLOPT_URL , $url );5 x! r/ y& s5 E. P3 @" }4 |) h% ]. W2 j
  146.     }/ ~+ m( e" o9 t
  147.     else
    " e2 ?0 K5 V1 ]
  148.     {5 K6 L7 W* A0 j/ H7 a1 \9 |
  149.         if($params){8 i% |' u+ ^/ k+ ?
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    0 ^; Z* c# V  W; g' T
  151.         }else{- B; O" G* Y( m4 a* y2 `0 G$ y5 b
  152.             curl_setopt( $ch , CURLOPT_URL , $url);% J7 F" l9 k8 T# [4 Y' `/ A
  153.         }
    : P0 X, B5 N* I6 k
  154.     }
    8 @- j0 c: g: p2 ?, H$ u
  155.     $response = curl_exec( $ch );' T7 _. o) a' N# O8 J
  156.     if ($response === FALSE) {
    + t8 i4 A+ ]: S# D3 U$ M/ ?$ z% e
  157.         //echo "cURL Error: " . curl_error($ch);
    / _" b2 e1 r( {* }( ?1 ]0 J
  158.         return false;
    % B# g/ ^+ ~1 n/ _, J
  159.     }2 {4 u3 t; T6 p- J
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    3 o9 T9 D6 ^& |3 n5 z
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );3 h3 }, `, A0 }
  162.     curl_close( $ch );7 W6 V) k+ R0 Y1 q5 Y
  163.     return $response;2 {- @& F) ]$ E/ H3 \/ ~9 h
  164. }
复制代码
: B; Z. S6 U7 Q8 R# g- D$ W: A
9 y: ?: I3 c, h+ I
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-17 09:53 , Processed in 0.148564 second(s), 19 queries .

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