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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。, x; O. j0 ]' p7 }$ ^# X
1.添加商品信息9 r! O! P+ x! c, {- {3 h( H
2.添加图片
+ b. Z, i1 U. h2 O3.查询所有产品0 }$ G) E6 s1 }  g8 H9 ^7 p  h" h
4.查询某个具体产品信息& P% R" V; p/ d6 j& c
5.删除某个产品  S3 n) w2 m7 d: R* N9 q/ m
6.删除图片5 J# {* O# G4 R: [% v/ ?( P; @
7.图像识别
0 K1 n- t) Z6 O' A5 g) e5 P
* K) I2 i; Q" ]' a7 k: x图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey
1 H2 r8 o: M4 {2 K
8 i  |2 J) }6 X$ |6 {  U! EPHP示例:
; T8 Y+ D- h& E) a0 o) k  `
  1. <!--?php9 K8 v2 I& a( L8 ]
  2. // +----------------------------------------------------------------------0 \8 A3 }/ C. j5 t, C
  3. // | JuhePHP [ NO ZUO NO DIE ]! u! U/ G) L: ~$ V
  4. // +----------------------------------------------------------------------, Q$ V# V: _. @7 m
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.5 }; E* U! ~! I8 b: E
  6. // +----------------------------------------------------------------------, Z1 {7 T- S! i6 o& u' J! p& S0 v
  7. // | Author: Juhedata <info@juhe.cn-->5 o) V! E/ d) T( |
  8. // +----------------------------------------------------------------------
    ; l# d: P. D9 k5 ~, l! E
  9. # Q, f7 c1 {9 k/ o( D- h
  10. //----------------------------------
    : c  p9 }" Q% W! C% e  w4 i
  11. // 图像识别调用示例代码 - 聚合数据, g- [% O& B! ~# b0 U% Z. ?
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    ) z6 R. E& A/ e2 T
  13. //----------------------------------
    9 A8 w: B0 U1 W* r3 Q

  14. ( c# O& x% e/ T) ~/ L: Q8 n) A; K
  15. header('Content-type:text/html;charset=utf-8');" M& R$ Y2 R/ N, @, O% w: n! ?
  16. * Q! X0 d: x+ Q+ W7 j% C$ v

  17. + s) L2 e: w8 [! J8 R
  18. //配置您申请的appkey
    1 |/ F7 V8 ^1 d8 f0 U8 q
  19. $appkey = "*********************";
    4 _. [1 {% K4 Q0 N0 z! Z) T

  20.   ?6 ?& ?& {/ Z- I

  21. 9 o0 b& d6 v) u
  22. ; h1 E! w4 J/ |

  23. 9 S' P8 H- w1 w* ]/ U
  24. //************1.图像上传************8 F. ?* M$ Z: K0 }7 a
  25. $url = "http://japi.juhe.cn/image_recognition/upload";. d$ ~* T/ n) o" Z
  26. $params = array(. u* G; Y8 L- n1 n
  27.       "file" => "",//上传的单张图片
    1 {8 q( C% l; \; M
  28.       "key" => $appkey,//APP Key; E! @, F+ ^$ _5 w, B8 ^6 R% G
  29.       "pname" => "",//包名
    % b- J5 A2 g5 G# F) Q- w
  30. );
    9 K6 _0 O. R1 j) ^# H2 X- b
  31. $paramstring = http_build_query($params);, q3 e5 ^- i, e( F
  32. $content = juhecurl($url,$paramstring,1);/ y, Z- X9 B' M7 r
  33. $result = json_decode($content,true);
    7 s9 A; L5 ?) B8 ~/ Q* F
  34. if($result){
    : {& T- c( H0 n! G  S( L
  35.     if($result['error_code']=='0'){
    , m$ I: B) V# d5 Y, q! H
  36.         print_r($result);3 e2 c! K* f# ?$ G
  37.     }else{
    " p3 ?& R  i+ Z8 e" h
  38.         echo $result['error_code'].":".$result['reason'];+ @" _  t) w/ a$ d) T
  39.     }
    ; n/ F& d( O' m5 U6 `5 I. `* J  w
  40. }else{( y& Q! b5 ]* d% A% f$ O9 }
  41.     echo "请求失败";2 ~  N0 e1 ^# M; {% _) l. D+ t
  42. }
    * \# Y4 u9 D# z+ b) |' p( V
  43. //**************************************************0 X: Q0 f" ?/ X* ^) i) {% ^
  44. 5 c, a: E! v! w* P8 _2 _* k$ o! W

  45. / y9 P0 I, b9 w9 I6 H  w) C6 L

  46. $ S! E7 E; [' K6 o7 v

  47. . m$ n3 p+ Q* v- I
  48. //************2.查寻上传图像信息************
    , ]. F! ^0 [! G( o( o0 O1 j" |
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";9 I0 r" j5 R# h! T
  50. $params = array(- M3 A  c/ {: o) h5 n/ C
  51.       "key" => $appkey,//APP Key
    . c! Z4 E( V, C& }' q" C& N( u
  52. );
    6 g; L1 B- S8 M
  53. $paramstring = http_build_query($params);/ i; t2 E) [$ }  g8 x
  54. $content = juhecurl($url,$paramstring);9 v$ C  c3 a" K
  55. $result = json_decode($content,true);5 u; |! _" d" p1 V" n+ w1 H
  56. if($result){
    " r7 F% h9 V" |
  57.     if($result['error_code']=='0'){
    2 m5 ?7 L' q8 Z0 D
  58.         print_r($result);
    % i$ u3 A, z: s7 o; @& ?$ O# Z
  59.     }else{
    + c# _& q" e8 x% u2 W* a
  60.         echo $result['error_code'].":".$result['reason'];
    4 o: z; F. I+ J( V& p0 z( t6 v1 I
  61.     }: d9 V& {: [' F( f& j' d3 D
  62. }else{7 L9 ?0 ~+ p6 ]1 a. X
  63.     echo "请求失败";) @; c+ c% ?* x' }2 o
  64. }
      x3 a; P+ U8 K# U+ x
  65. //**************************************************
    4 _8 {" Q' ~. j6 ]* P' F# C
  66. $ h5 @+ E1 M4 N  ^

  67. ) T3 E4 s/ x6 L* U; s
  68. 8 x8 F& R- R8 |

  69. 9 l% W/ d" `  K8 f1 G) q1 n& W$ W
  70. //************3.删除图像信息************
    * U' _- j8 e' K, e
  71. $url = "http://japi.juhe.cn/image_recognition/delete";! @/ P0 B- V5 x9 e$ y
  72. $params = array(
    ) c4 r1 x: r$ ~& G7 J
  73.       "key" => $appkey,//APP Key3 X, S+ n4 J/ k. Q( N4 m
  74.       "imageId" => "",//图片ID9 h* w0 J9 P* \* F
  75. );
    . ^& Y4 U& a1 Z- Z) {
  76. $paramstring = http_build_query($params);
    * ]0 H* f  }, x6 C
  77. $content = juhecurl($url,$paramstring);& S6 I3 D& S( I. H
  78. $result = json_decode($content,true);5 g# D( v/ _8 T6 l, `1 {+ s
  79. if($result){' u- F" S7 {. _% p2 m5 J" F
  80.     if($result['error_code']=='0'){
    4 y9 A1 C" t8 i- F7 g
  81.         print_r($result);! K) ?5 `# h4 z' }
  82.     }else{
    / b3 }/ k( ~; e, r2 q) B
  83.         echo $result['error_code'].":".$result['reason'];0 N! u  l  W% O! I% ?
  84.     }
    ' A' K2 }$ Z5 ^# L& g
  85. }else{3 }3 U. N# }. I7 G, e
  86.     echo "请求失败";! i: S: ^2 w1 }5 H. c
  87. }' k0 s, [! L% B4 P! ~
  88. //**************************************************
    9 Q9 F3 j+ X* V; S" q% |
  89. " ~% P9 M, Z; c8 Z7 o, t  j9 R

  90. , v' j3 j* n3 D+ |$ v0 B4 c) a
  91. 8 d8 k0 X/ X; I- \' G
  92. & w& G, J' e* @9 Z- R
  93. //************4.图像识别************1 p. F) i( p/ P
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    3 d, F# L0 u) `# C' t4 {
  95. $params = array(
    1 }* d; @% H6 L' D
  96.       "file" => "",//上传的图片* q1 ?/ p+ s  T5 i- Q2 a
  97.       "key" => $appkey,//APP Key
    ' [. {% X* x' e) R
  98.       "pname" => "",//包名
    3 a6 N& u2 Y5 F
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)$ i1 E( z& ?- _  M8 D& }
  100.       "device_version" => "",//设备版本(如:4.0.3)  ^  P  ^$ ]: M% M9 \3 T( T
  101.       "latitude" => "",//纬度
    & ]8 V& Q0 [# a" t4 M8 x) f
  102.       "longitude" => "",//经度* t' y% [( w: Y+ O/ z( `! a
  103.       "uuid" => "",//设备id; P6 X, n( `' Y) `
  104.       "zone" => "",//请求地区. b1 e, |+ r* V$ h: j2 Y
  105. );
    6 w9 \: T) L. F! W3 u# u) c( h
  106. $paramstring = http_build_query($params);
    ) ]: u/ Q8 z8 K  b8 N3 Z* M* C" g
  107. $content = juhecurl($url,$paramstring,1);$ p; }1 V) r% I) V+ s( G
  108. $result = json_decode($content,true);
    + n+ L8 ^9 f% k! |$ G6 [
  109. if($result){; c3 e3 T4 f2 x4 G+ Y  c/ P' @* _
  110.     if($result['error_code']=='0'){( I- W/ t0 n2 A7 g; L
  111.         print_r($result);) \9 i" w$ F, ]: {( ?& W& Y
  112.     }else{
    2 `8 r. w, n* w7 l
  113.         echo $result['error_code'].":".$result['reason'];/ H- b, {4 r( T$ S3 f, v' B2 k
  114.     }
    + s6 a. z( g8 @  _
  115. }else{
    " _+ q- t4 P" D3 k
  116.     echo "请求失败";* ?; V4 Q$ \+ _" R' I8 }, s
  117. }. ?; c3 `2 A  Y
  118. //**************************************************1 W- f. B& p  U! f7 S- ?) x  I
  119. ' o2 v# e0 z0 [! V
  120. - Z& Y- \( B/ t2 m

  121. ; f* N: Y# U+ l( g

  122. # z9 D- ~" B, y
  123. ( z, Q$ n* `- i0 C+ T
  124. /**3 X" {/ Z. m% j+ Y% x
  125. * 请求接口返回内容* S, Z8 i- F3 I0 F$ d
  126. * @param  string $url [请求的URL地址]
    ' k  r2 E0 W5 @% h5 W7 }& v
  127. * @param  string $params [请求的参数]) A" p/ M( G: n/ r
  128. * @param  int $ipost [是否采用POST形式]! e' \0 `7 G7 x9 n6 ?& A& Z2 B' k
  129. * @return  string  {/ ]; Y9 V! v5 F; j
  130. */: K2 D; ^: g0 O7 _+ v8 }
  131. function juhecurl($url,$params=false,$ispost=0){
    % I+ d" E( h: g0 a9 p8 l
  132.     $httpInfo = array();* \* O; s& C9 m0 P" Z" i/ b
  133.     $ch = curl_init();9 [0 h8 K: e4 k$ M2 Z& Z/ q
  134. ! i# Q! D' Q! c* W$ q1 A9 n0 S/ ]
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    / M0 X# K! L3 a
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );$ }- }3 U/ f8 Z3 ~
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    1 a7 d9 ]  e1 T* x, ]( c
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    8 d9 j& [3 }7 y6 j4 Y: W) A+ N6 D
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );$ u, g, ]% r$ N1 D: F# y
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    ( O; h1 W4 A/ J0 @5 G- j
  141.     if( $ispost )! {- [8 B. P7 q# c! i6 y# [1 B
  142.     {
    . O& h, C* T, @: s2 J3 c
  143.         curl_setopt( $ch , CURLOPT_POST , true );; m6 g6 _3 [) q& W6 |5 T7 ~' w6 @
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    3 J: U1 T; t/ F8 @( ^# c, b; `
  145.         curl_setopt( $ch , CURLOPT_URL , $url );4 m. I# g' K/ b& ~  C. f  s
  146.     }' z) J. C: m! G% j
  147.     else
    ( |6 b6 H9 v! b
  148.     {
    ' v2 u! K* w# g* i6 o# \
  149.         if($params){8 _  D- G# F" F0 U6 p. u) @' L' f0 e
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );% u" q' F- w: E0 l
  151.         }else{. {4 z" A2 B) u6 {+ M" _$ X
  152.             curl_setopt( $ch , CURLOPT_URL , $url);7 f" }% l# Z  R; y. _
  153.         }
    5 F/ M: ~) `9 G5 H: e$ K
  154.     }! C9 e$ ?. T9 s. _) B1 ?, @
  155.     $response = curl_exec( $ch );9 F2 A1 ]( ?: `# [( E
  156.     if ($response === FALSE) {% h" f# {6 o* {4 K- e
  157.         //echo "cURL Error: " . curl_error($ch);6 K; t+ `; \8 m1 b* W5 D9 E5 w& c
  158.         return false;! P( f+ c2 t* z6 ]/ c
  159.     }+ \- a; E# C. W6 E' k, f
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );0 C5 n  ^7 X, i: S0 V. L0 N! H
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    1 F/ Q! J& [7 S7 k8 I
  162.     curl_close( $ch );5 b# T  [+ J' F  H
  163.     return $response;9 M9 v& Q( t% l! B
  164. }
复制代码

/ r4 c  e0 T! o# x! f8 f
% h8 z& c! ?! P1 {
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-19 23:06 , Processed in 0.116412 second(s), 20 queries .

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