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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。% f0 b! ^+ \4 z$ \6 C. T# c7 Y0 |
1.添加商品信息; }! j$ K: n/ k$ _- M- B
2.添加图片
1 @" V6 i0 x/ A- H3.查询所有产品  ?  |. l3 e; t/ O
4.查询某个具体产品信息
' h: V) ?  r+ y) x' i. ^+ Q5.删除某个产品
1 B7 ?9 o/ d; r% ~7 h6.删除图片' ]6 J' O& e- P
7.图像识别' z- g- z" j: B( Y) ^
5 J% q4 I4 K5 G8 F2 \* z
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey$ ]5 D+ P1 T- f

) ^4 I( |* f5 o; J7 B, vPHP示例:) |4 h& ^& {, E# X
  1. <!--?php
    & i9 P" k. W$ f& v/ `: ?0 z
  2. // +----------------------------------------------------------------------
    ' ]( u: K# |  @6 G
  3. // | JuhePHP [ NO ZUO NO DIE ]) K' m' n4 l2 Q: y4 x" h
  4. // +----------------------------------------------------------------------" {- n5 \( }* _& h
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.: s2 f( ]& H0 J/ Q4 T0 F6 `! P
  6. // +----------------------------------------------------------------------
      n- \" g! F3 Q) N) `) K6 v
  7. // | Author: Juhedata <info@juhe.cn-->
    # b: Y9 j  i8 U0 p' Q/ L7 t' `% e5 y
  8. // +----------------------------------------------------------------------
    / x, B% @6 }+ z. y/ r  H: K3 M
  9. 6 r9 F" L% x9 t8 X( Z
  10. //----------------------------------. }  C5 ^( |; p1 Q$ C3 D8 b1 n
  11. // 图像识别调用示例代码 - 聚合数据
    ; G0 i+ _& d9 [& S5 v  Z
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    - `* @( z7 W- N1 K$ G
  13. //----------------------------------( [0 z6 K7 R2 y% W8 @

  14. 3 H0 x' ?2 O# C7 V( x9 n" S' L
  15. header('Content-type:text/html;charset=utf-8');9 k/ Z, _0 ^& T# [; p4 v# ?

  16. ; d& X+ @, b+ w
  17. . p. N& K- U/ G1 e
  18. //配置您申请的appkey$ e4 w3 n7 o+ }& b" {0 R3 s4 Z4 c
  19. $appkey = "*********************";
    ; v1 p) E( _% e' z7 r3 d* K
  20. : a# h9 k; A9 E" `- w3 G
  21. . ~5 G9 y; V; V- f" y5 Y
  22. ! d; ^0 c7 n4 c0 ~9 q; c
  23. # k0 I+ U& {5 Y: a) {; i# P
  24. //************1.图像上传************
    - e- R1 e6 }- b1 M) W7 [1 N
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    . b" P. o/ }" T* C2 o: q
  26. $params = array(9 z. N0 x  \! i; l- S1 ?
  27.       "file" => "",//上传的单张图片2 i6 k: i/ w2 ], Q6 l1 h0 @: d1 {: C
  28.       "key" => $appkey,//APP Key: D$ Y& {7 h' }4 z; e2 {& M% M
  29.       "pname" => "",//包名/ T4 C# ^; ]% Q. q2 S: `' s
  30. );
    ! ]" u2 K' d: J' [
  31. $paramstring = http_build_query($params);
    ) F. y" W. B) f9 @. A- m
  32. $content = juhecurl($url,$paramstring,1);
    % `. C" O! r) ~! f7 J6 h1 l
  33. $result = json_decode($content,true);9 C+ s( n3 Z7 ^+ m! B  ], b
  34. if($result){
    5 @, N+ Q9 y1 g6 e# G
  35.     if($result['error_code']=='0'){8 A4 L, p5 b- O4 B
  36.         print_r($result);* A9 N! M. p  N7 `( T8 y8 }
  37.     }else{
    ! A2 A, v4 e& J/ S' d
  38.         echo $result['error_code'].":".$result['reason'];
      i9 r& s) R' e& k. g+ f
  39.     }% J' h! ^6 @( P3 O& |6 A! e
  40. }else{4 p' P5 ]8 O% A6 x
  41.     echo "请求失败";1 V& S3 a/ @/ _2 `% O
  42. }
    0 ?7 }* A: C- e9 X+ G) a
  43. //**************************************************# {7 A" t- ~$ z# B( K  i" G& {
  44. : T# ]- l' U- |3 b# e
  45. 9 J. w( x  s/ X- ]
  46. 1 G4 O: g/ Z" j- W3 ~% d# }

  47. 8 z0 F, }$ H/ \/ Z' Q" m" {* B5 F
  48. //************2.查寻上传图像信息************
    & I* k: o8 ?( E. Z' ?7 I
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";4 n) h" @# {9 D1 s) T. u
  50. $params = array(9 ?! J, W! u- g. A5 @
  51.       "key" => $appkey,//APP Key
    7 Y2 G: a; v5 |
  52. );
    # P8 d1 g! T/ e* o8 W
  53. $paramstring = http_build_query($params);
    ! Z; y- K2 z+ L' B" A- v4 P
  54. $content = juhecurl($url,$paramstring);
    : r( y0 U* G5 T! e6 L9 J
  55. $result = json_decode($content,true);
    - z' j+ J, ^, _' J. \3 N1 S
  56. if($result){" W1 B5 W% P1 M! g
  57.     if($result['error_code']=='0'){* P6 B4 I1 T7 D* @
  58.         print_r($result);) G9 M4 q' U) g
  59.     }else{9 c# y8 S4 j8 ]
  60.         echo $result['error_code'].":".$result['reason'];
    , e" Q. }6 \- p0 {" H, J& N2 |7 G
  61.     }
    2 k( t( H) U9 o* ]$ f; H
  62. }else{3 `2 t3 P3 x. [7 b! n; b' V
  63.     echo "请求失败";
    3 a5 E# `% R" [
  64. }
    , X( @$ V+ g& _/ o3 {
  65. //**************************************************
    , O6 o" d. p# H& h$ o6 l. B

  66. 2 j6 d* [# \$ G0 w+ O2 S3 e
  67. : W6 K7 w+ T/ a2 O9 A" K
  68. $ V* [6 H7 m# C/ H/ d- c

  69. 0 ^' g6 t6 C7 `  e/ w9 ?
  70. //************3.删除图像信息************% ?6 R0 b2 a3 u
  71. $url = "http://japi.juhe.cn/image_recognition/delete";& a+ m2 [7 L7 t- V6 m; o4 M
  72. $params = array(7 `0 ]7 l7 i+ z# q- H+ u/ O
  73.       "key" => $appkey,//APP Key# @: Z. U5 V' U) H- L0 T
  74.       "imageId" => "",//图片ID
    * w( ^* l7 d) u# Y7 l
  75. );4 j. u: M. `5 N/ W  [
  76. $paramstring = http_build_query($params);+ D# l8 b' N0 }/ F& N) p" f4 K; s
  77. $content = juhecurl($url,$paramstring);/ H- a6 G- [6 V3 l& z% `) F& v
  78. $result = json_decode($content,true);3 A4 g0 N2 l' v7 p3 B2 I
  79. if($result){0 V( O1 N/ a/ S' }$ Y
  80.     if($result['error_code']=='0'){0 @: y7 [3 z! ?
  81.         print_r($result);9 X' D4 ?# S0 |, n' }0 v$ ]( V
  82.     }else{
    3 j3 W, s0 d1 [9 D& {
  83.         echo $result['error_code'].":".$result['reason'];
    1 x; }/ @9 a8 z( C4 J6 Z
  84.     }: \' e( ?9 s/ ]% K: F4 r
  85. }else{# y: \$ O/ ^! ?! }; S" \) ]6 V
  86.     echo "请求失败";4 a; A+ V( ~6 e7 ], n6 G0 u$ E
  87. }
    $ C  h1 `6 g6 d8 S# L
  88. //**************************************************# u* K7 e; x! u+ D% k

  89. 6 |6 k' u8 r: ?2 J2 r, N8 X& {
  90. 0 j5 @9 B. K  m" o  V- l! P' T
  91. - f7 f, c8 P3 i9 C0 |1 ?
  92. * \* U# s' E6 `0 l, E
  93. //************4.图像识别************: C4 Y. g6 }0 M( g& r% Z
  94. $url = "http://japi.juhe.cn/image_recognition/check";4 }: m7 [7 b: u4 E" A" ?
  95. $params = array(3 R* p% l2 u% y
  96.       "file" => "",//上传的图片$ b3 F* d! A( R. S& l
  97.       "key" => $appkey,//APP Key
    2 r1 y. h) Y4 j& k
  98.       "pname" => "",//包名8 K3 F' Q) F3 ~2 T' E% B& h% ?, W
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)+ H+ \) }, \  X* F8 K5 b# m1 M  g
  100.       "device_version" => "",//设备版本(如:4.0.3)
    9 y, t- q+ m" m* e
  101.       "latitude" => "",//纬度9 U7 b& }  L+ E8 C7 H
  102.       "longitude" => "",//经度  I. z* q$ ]! l+ j: K; L
  103.       "uuid" => "",//设备id7 q  ^. f) @* a4 b) i5 ~
  104.       "zone" => "",//请求地区7 t  O0 D6 ~6 i: z: o5 E6 u/ z: e
  105. );9 c9 q) A9 [" X/ p
  106. $paramstring = http_build_query($params);
    # p' w% y3 \: n* q. {
  107. $content = juhecurl($url,$paramstring,1);9 u, w) ^5 w2 B, p$ r% S
  108. $result = json_decode($content,true);7 X* t* f$ [2 k* X2 m& E2 y% ^3 B; f
  109. if($result){
    4 C9 `! z4 B' o' w: z8 M% ]1 @( z$ s
  110.     if($result['error_code']=='0'){
    $ V0 n4 U1 I* W' i  o! z
  111.         print_r($result);
    / y2 [  }. C+ B
  112.     }else{
    # H* H0 V& `$ Y8 ~
  113.         echo $result['error_code'].":".$result['reason'];9 v9 {" X8 _% S5 ?+ B* g! e
  114.     }" }& W* ^: O" l& B& X& `
  115. }else{
    - q9 D: s* z3 _' M
  116.     echo "请求失败";
    + l) D( g7 o3 Y% S
  117. }* q0 V) e8 k, H/ f, I, M
  118. //**************************************************
    $ k( q1 U; z' r) K1 x- T  z5 u5 j

  119. & T8 b; L5 o/ b9 P) e8 x4 i. z
  120. 1 p/ ~/ l% \1 [! K( ~: C

  121. 2 u6 w7 K4 n5 r$ f( i
  122. 8 n0 K! U/ m; E) m
  123. . M9 Y' a" I4 c' k& w
  124. /**
    * J, B& G; N9 ?
  125. * 请求接口返回内容9 X2 r- G6 _6 z* d* ]
  126. * @param  string $url [请求的URL地址]
    " Q; e$ c, ^# B7 ]1 m2 W. E
  127. * @param  string $params [请求的参数]
    + U% z( U0 z; k  l9 L) _: w
  128. * @param  int $ipost [是否采用POST形式]
    3 V) Q5 i: s( B* z3 K2 G
  129. * @return  string0 F% g' |  }- W  z8 G; [
  130. */
    2 ?: M( b1 _0 e5 Y
  131. function juhecurl($url,$params=false,$ispost=0){
    ! j" s- O: ?, g5 J
  132.     $httpInfo = array();! I& A: q2 b' e3 D" z1 d+ }  H
  133.     $ch = curl_init();9 G, i( v% R3 B' m+ l# s
  134. 1 G. p) m. h# `+ H( S" J4 N
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );) \( T" D+ g" ]$ e8 |
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    ) E  q2 m3 `; V2 R  }
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    & V( w, Q! x8 {7 Q, t) W
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    2 s- p- d5 M/ O% r
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    % h$ D/ @: O( ~
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
      k2 `1 @9 ^) Q5 Z# r' c
  141.     if( $ispost )0 L& P4 N/ S" x% f2 a1 i8 _6 k
  142.     {
    5 d$ v0 R2 E' f: w3 S
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    0 b- ?) w- e0 z9 B8 u
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );  e9 J& ~$ ?, b" [$ U! ^
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
    . ^5 B1 v- ~: y, u  w' _8 B
  146.     }- [# W& n1 x: L2 A
  147.     else' s! \; H& I$ c( t9 d0 z( f; y
  148.     {* k1 v; I! g& M/ D+ g- k9 ~
  149.         if($params){6 y4 x' ~* e' R3 |1 @
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );% ^1 M% t- c5 x  k1 G% G
  151.         }else{
    ( e: p' t, J: _$ p) l7 E2 U
  152.             curl_setopt( $ch , CURLOPT_URL , $url);/ _2 o* I1 [* P* r6 U
  153.         }
    ' o: V' r( e8 s/ W
  154.     }9 B1 h8 x; _3 S2 t# q9 H. m
  155.     $response = curl_exec( $ch );
    : a; v/ z, u/ F* o6 Z9 G
  156.     if ($response === FALSE) {
    6 B  C0 M$ Q1 y  `2 O1 [
  157.         //echo "cURL Error: " . curl_error($ch);2 g. D0 d( z8 }- a2 e
  158.         return false;
    $ M7 \* Z. p+ k$ e# i) C6 G# @; h3 |2 S
  159.     }
    . S  [. i# C& q. B. J
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    4 F) o. M3 z; w- |# N# z% q
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    ' }9 d$ G; V5 z3 S, z5 g
  162.     curl_close( $ch );/ h, @7 F# {+ L. z6 E8 a; ?$ G- a
  163.     return $response;
    1 {; _8 V$ K' e  }2 [+ c
  164. }
复制代码
) R8 k9 a2 V: S* F# r/ T

. D$ G3 M; b# a
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-2 20:12 , Processed in 0.102476 second(s), 19 queries .

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