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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。- D# b" s- f% x- Y
1.添加商品信息) M& b" ]* l9 d
2.添加图片
, M+ N6 p) ]5 Y0 o: j3 V" n: E3.查询所有产品& N# z0 t; I0 H6 ]
4.查询某个具体产品信息
0 |5 G1 O* }1 i8 s8 z5 L; l  Q5.删除某个产品
! H$ ]) v6 l# X8 A6.删除图片
1 Z; H0 \' X) }8 d) c" R7.图像识别2 M& P6 X6 v1 V; Z& P! d
$ b+ [: [( u# z
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey
( P/ D( k. U2 T9 ~2 K2 p7 j* Z- K: s) ?
PHP示例:" ~& a! V9 v4 d& \9 v
  1. <!--?php
    3 V  v' K9 a  {5 c7 t2 |. W1 D: u: |
  2. // +----------------------------------------------------------------------
    9 w" y9 V% O( ?5 G3 y8 X  h) G
  3. // | JuhePHP [ NO ZUO NO DIE ]
    ; p1 x, D; \" s
  4. // +----------------------------------------------------------------------
    . y9 K7 {/ y/ e8 z8 X
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    / j# _: H+ A+ W& R! a! D
  6. // +----------------------------------------------------------------------1 c# P% N$ K$ K  J, S# x# o9 {8 v. U7 U
  7. // | Author: Juhedata <info@juhe.cn-->
    ; p9 V) b. k: X) ?$ R& [) I
  8. // +----------------------------------------------------------------------
    ! O& m4 I3 L3 |/ v
  9. ( Q+ I5 C% o# W% n( V7 A5 r
  10. //----------------------------------
    6 V" ]0 Q! z% x6 z; y6 T' L; [
  11. // 图像识别调用示例代码 - 聚合数据
    $ M: O. X+ D7 J3 ]/ K
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    2 ?. n: y! M( T- H7 T
  13. //----------------------------------. W, e) Q6 N5 [6 i/ M5 r- i

  14. 8 D$ V, {' u$ k$ s3 k
  15. header('Content-type:text/html;charset=utf-8');
    ! Q$ I9 c# Z; }9 [7 J/ M! ~
  16. - e6 j: v' D/ r' }9 E
  17. ' ~& C1 e2 N# U. a9 X& _0 E, k
  18. //配置您申请的appkey
    % m) I( u$ K0 S) j
  19. $appkey = "*********************";
    1 f' p- V2 N5 u9 j3 A* D. X
  20. 2 R$ x: ~8 P6 C& h; e

  21. 5 E" s0 n% X4 a  @: j5 o

  22. ( z1 r3 {! U$ G! _4 h' r6 y8 W* M3 n
  23. * }. b$ H/ A: @% I% l
  24. //************1.图像上传************
    # q: c! W, \) K
  25. $url = "http://japi.juhe.cn/image_recognition/upload";" I* D# h" S4 ^
  26. $params = array(+ ?% a6 P9 o9 l) T7 t3 F: D
  27.       "file" => "",//上传的单张图片
    & L; V* ^" [9 e- w
  28.       "key" => $appkey,//APP Key
    $ I8 E8 |5 ^* x. U# I5 B/ o; c! m  m
  29.       "pname" => "",//包名9 \/ V7 Y; w$ x: h9 m. E
  30. );  V$ A9 a4 T2 k; U
  31. $paramstring = http_build_query($params);6 E2 L6 m/ H2 f6 i
  32. $content = juhecurl($url,$paramstring,1);: K+ b7 C, e' S  A, J6 T
  33. $result = json_decode($content,true);
    4 E' ?+ k! {9 _5 R- Z% A5 C
  34. if($result){
    9 Q) }5 z+ W) @6 H9 ]
  35.     if($result['error_code']=='0'){
    / n! {! T5 e: A; o! h2 m" i: S  i9 t
  36.         print_r($result);
    1 o$ D8 R- x" o1 A% r: i2 g
  37.     }else{; f) W1 M9 h8 W" u1 _
  38.         echo $result['error_code'].":".$result['reason'];
    % a) k! F. h8 s% y  \
  39.     }$ y$ x. F) d6 s. Z7 |1 }6 G1 n
  40. }else{# }) ]9 v1 ?  a8 ?3 I0 Y
  41.     echo "请求失败";/ G$ M6 Z/ K4 K, v
  42. }
    $ M; ^  b" C! F( s$ x* J, T
  43. //**************************************************
    & P6 g1 W! l+ t; z7 }/ H
  44. 3 P( ~9 B6 Z/ |& l, Y/ [7 g4 W7 g

  45. . b( W! `8 [. L8 W5 q7 \! Y2 ~

  46. 6 [  O$ v4 z& J+ f! ]: H! o( T

  47. : J( y8 d) ?+ Q; k/ R
  48. //************2.查寻上传图像信息************
    - m' S; r( ^9 G6 j7 U
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    3 c, v9 d( |. f! ^
  50. $params = array(
    6 q, C. P# U  k! h
  51.       "key" => $appkey,//APP Key
    , X0 j% N% i& o$ t
  52. );
    ' q, E% N" U6 \+ h/ i7 [
  53. $paramstring = http_build_query($params);
    # `9 Y4 M) y% W: I. D8 g% w8 k9 O8 Z
  54. $content = juhecurl($url,$paramstring);
    8 \6 |! D+ h7 x2 j! H5 J
  55. $result = json_decode($content,true);
    6 f- j# I4 X1 s  ~
  56. if($result){0 O+ P  w; t5 B& L$ W: C: v
  57.     if($result['error_code']=='0'){/ h- P- A7 n" l! j" N. M8 P; w" m
  58.         print_r($result);" l, Q" B; m/ a$ Q: U7 {$ H
  59.     }else{
    ) m* I/ T7 e# k0 Q$ t
  60.         echo $result['error_code'].":".$result['reason'];/ x" t/ V2 [# {# U4 `6 t7 [6 H
  61.     }
    / P, i2 b7 h& O8 A9 x8 V  t
  62. }else{
    & [; A+ U) W4 O  d6 `/ B" Z
  63.     echo "请求失败";
    * T1 u( W8 p, J. {% [
  64. }
    ! G8 n+ D" k/ a) r4 g$ \5 @
  65. //**************************************************3 v! c6 N" m' ]6 k6 q

  66. ; D0 ^$ Z, Y$ c. G+ v  a

  67. - S6 \4 |9 `* j4 o' @  j

  68. " x9 Q) o6 e$ O0 a$ z* ]1 s1 {

  69. % q% z0 r* `6 I/ q  R; S6 N6 w
  70. //************3.删除图像信息************, m, ?  L0 p- c2 z1 j
  71. $url = "http://japi.juhe.cn/image_recognition/delete";
    & g9 r3 Q6 Z; g- c2 I
  72. $params = array(' s# d7 f4 j) f" E& e
  73.       "key" => $appkey,//APP Key2 G$ E# g5 b. u' K. k1 o$ V& b
  74.       "imageId" => "",//图片ID
    ! M, I* z3 N* [' ^9 @
  75. );
    # b/ d3 t. B* N) F, y
  76. $paramstring = http_build_query($params);
    ( z/ Q; m0 n8 J/ C. `
  77. $content = juhecurl($url,$paramstring);
    . N( F0 V3 v0 b9 t. Y4 a0 t& L
  78. $result = json_decode($content,true);
    1 H4 Y( N& ^4 H3 n0 j, Z- \
  79. if($result){
    ' b& z1 R$ H5 `4 c2 h' u9 x: r
  80.     if($result['error_code']=='0'){% s- S8 T7 U* |8 v3 x
  81.         print_r($result);
    ! s' {2 R6 d/ b5 w( m, v0 v
  82.     }else{
    4 V) E+ D- l4 Y& J8 j
  83.         echo $result['error_code'].":".$result['reason'];2 r& q3 z$ l/ P/ v8 T% I/ Y  R
  84.     }
    1 c4 A% z3 X* q6 n
  85. }else{$ y' f3 R8 k  r# O: b3 s+ V1 j
  86.     echo "请求失败";
    # ?& g2 ~+ a) T' M
  87. }3 ^' I# L; h7 g% X* L7 }' J, A
  88. //**************************************************
    6 F$ d+ R! c& `2 C  E6 k) R: @

  89. 7 A4 \0 v/ A" ]' a7 H
  90. , b& t% `4 I( p' [4 O+ u
  91. 9 g! ?  L% ?8 h; @, X4 T6 X6 t" ~
  92. 4 Y: V. B- j/ I. p3 w
  93. //************4.图像识别************# p' k6 `1 o7 s7 B/ h
  94. $url = "http://japi.juhe.cn/image_recognition/check";5 ]" p8 Y4 S9 b: i/ F7 ?2 l! `5 F" U
  95. $params = array(, C4 r/ S$ E; a$ S
  96.       "file" => "",//上传的图片
    ; C1 a/ m+ @; I: Y3 S
  97.       "key" => $appkey,//APP Key0 |  t4 `' t3 a. z$ {8 Q
  98.       "pname" => "",//包名
    9 B) T% g6 k! H; A4 Y
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)3 b& F4 U3 y& I# x
  100.       "device_version" => "",//设备版本(如:4.0.3)
    $ n7 j5 f  C4 s9 A# F
  101.       "latitude" => "",//纬度
    " a/ S3 E5 x! b, R& S& t
  102.       "longitude" => "",//经度
    ; q, _' n9 p/ G/ N0 p# S
  103.       "uuid" => "",//设备id2 Z! l) S) u6 j; c+ Y' g& f& o
  104.       "zone" => "",//请求地区
    3 @1 k" a$ u" l6 I3 x
  105. );
    + z) k' I2 \* ^5 G2 i+ Q
  106. $paramstring = http_build_query($params);0 c# h# U5 d3 O* E( F/ S5 u/ [
  107. $content = juhecurl($url,$paramstring,1);
    0 p; U8 f( M2 L! i2 K: C1 U
  108. $result = json_decode($content,true);' m7 ^7 `3 l( Q8 H% [& d% S5 s
  109. if($result){
    ) z/ N# g3 s/ g; f5 E. M
  110.     if($result['error_code']=='0'){3 O0 x  k2 }  q6 G) @) T; N' ~! U3 c$ T
  111.         print_r($result);( N* B- G1 o7 @9 W: O; |! [
  112.     }else{0 @4 P, |6 c% @) o; F2 y
  113.         echo $result['error_code'].":".$result['reason'];
    , e9 @2 h8 o' m0 c! y0 y8 b
  114.     }
    ; N; I$ x$ R+ i, u6 R
  115. }else{
    9 a" _' K! V0 q8 j
  116.     echo "请求失败";
    . p2 E, G% \6 T
  117. }
    2 h; v* p/ v6 ^
  118. //**************************************************5 {% z. M( |. G# I  A

  119. : J9 m* C% @% W" M% X
  120. 5 V- j5 o/ L: ^. a+ ]9 _
  121. 9 z& F4 Z' s6 `4 @

  122. & n0 C8 Z4 {$ B* e

  123. 3 x5 o5 }2 l% V0 z/ P! |: f
  124. /**
    ! K' a, {/ g% Z: {' E
  125. * 请求接口返回内容! G6 n. `1 @) m
  126. * @param  string $url [请求的URL地址]  v3 X7 g4 `- y" |4 J/ R& C6 m
  127. * @param  string $params [请求的参数]
    + ~( A" w* G, J0 |& ~
  128. * @param  int $ipost [是否采用POST形式]
    / z- _5 n) u) k
  129. * @return  string6 K- m. ^+ s& B( o
  130. */. K/ F# L0 O) `
  131. function juhecurl($url,$params=false,$ispost=0){
    3 h, P3 B/ p7 q( z2 `4 v2 M
  132.     $httpInfo = array();7 X  Z3 B. P7 A" c% i! b: G6 ~
  133.     $ch = curl_init();2 g) Q: D( ]( v" }) }+ I. ^
  134. / f, n3 N  z# i+ z" j% L$ }
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );: T  k4 P  g0 z
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    9 V$ o9 s! s4 o" P+ b
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );" T4 D( u3 x6 i% i  F0 J& U
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);$ l: t$ g; l& e/ O
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    2 z4 g0 i- `3 P0 t% [
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);9 [9 c  r! A1 k8 {7 S
  141.     if( $ispost )
    4 B* u5 J$ V# T# \3 i* h" ~/ O
  142.     {
    & }) k. F! p; R! C! v& ~
  143.         curl_setopt( $ch , CURLOPT_POST , true );  e4 C* K) {0 Y! g* A0 x  B- h
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    4 q3 r5 U- o; O# Z" \
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
    8 R$ j. |# d: O2 \
  146.     }
    ) P/ c1 T) I/ R9 G
  147.     else" p1 m* n  M3 W" ]
  148.     {
    0 f. X' ]0 I' ^( s* h
  149.         if($params){
    : p9 d1 G6 t5 w! s7 f1 ?. Y
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    ' U$ H3 o) O! ?3 ^  S  T1 l6 o! b
  151.         }else{1 [! ^8 M- e6 m
  152.             curl_setopt( $ch , CURLOPT_URL , $url);0 ]3 [6 e0 g/ x  y+ s
  153.         }
    0 K: k% y! K9 @0 L. X1 w: S4 e
  154.     }9 }7 n) ]/ ?1 R' O. V4 @
  155.     $response = curl_exec( $ch );% \4 w4 u, R3 {" D! G  a
  156.     if ($response === FALSE) {
    ! X$ z* G; p" D$ P; W  X/ T" y
  157.         //echo "cURL Error: " . curl_error($ch);+ V8 N5 c$ j( @+ f* T1 [
  158.         return false;4 s2 r4 R4 P$ o( \' y& t
  159.     }5 @: x5 A) z, a6 P: M
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    0 h5 |3 U, r9 O+ R- Q$ t# L) X
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );& ?. X, T  X" D0 }6 |; w$ ?
  162.     curl_close( $ch );  i( `6 ^3 p& G: N
  163.     return $response;2 q) {: N. I3 g2 u( f
  164. }
复制代码
4 u) b9 b6 |- B
6 ^% e4 p: ^" Z* u
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 12:40 , Processed in 0.069762 second(s), 20 queries .

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