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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。5 r: n% @( f! u5 Q/ t* O6 O' _
1.添加商品信息+ x' r: z2 a: n0 P
2.添加图片, i' H+ m7 o9 t: A% a
3.查询所有产品
1 {1 M! u+ [6 Y6 A* V4.查询某个具体产品信息- Q9 S- C! K! S0 r" Y  T
5.删除某个产品
* r2 C. i4 M  Y" E! a6.删除图片0 D# v/ t& n6 {/ L
7.图像识别
% G! a& I" Y7 Q" ]( `# u2 q# }7 `8 B, d: V& p, M/ l; b6 G8 _
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey( {" |( J$ `0 z
1 z( Z$ x9 t  t
PHP示例:6 T8 E# [- b9 B; a) B
  1. <!--?php0 B  M) q  p5 n  i
  2. // +----------------------------------------------------------------------
    : k6 d& U5 e9 T+ _- Z
  3. // | JuhePHP [ NO ZUO NO DIE ]
    ' {3 b& C3 e5 w2 y8 P
  4. // +----------------------------------------------------------------------
    5 S. O0 s* u/ `0 C4 T$ s' A
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.- T7 g% z+ o; p- {7 j
  6. // +----------------------------------------------------------------------% K  @+ X8 p" ~
  7. // | Author: Juhedata <info@juhe.cn-->
    1 @3 y) g' V+ `# G3 E
  8. // +----------------------------------------------------------------------' A4 e9 v1 o- k7 [) `" n. K% Y
  9. $ f. r1 }" z$ s6 x5 m: `, h
  10. //----------------------------------
    , r7 S1 ^$ l8 g. w
  11. // 图像识别调用示例代码 - 聚合数据! P9 F7 G' F1 y$ v1 c
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    - n9 T+ c, r; z- F: Y- W
  13. //----------------------------------6 r/ K( y  m8 k4 w$ c

  14. $ w  v) d# A0 S( X) h4 o# \
  15. header('Content-type:text/html;charset=utf-8');
    9 i3 f8 n3 {$ z1 O/ d+ @7 {% E
  16. * K* ]# f& L; c  e# a
  17. + c! y- l, H2 O7 b1 F: x; P8 n/ Z
  18. //配置您申请的appkey
    ; B( N' t3 T" Z) q* [; U& `1 o
  19. $appkey = "*********************";3 k9 v' Y* ?, y6 T8 m4 b. L  n+ L

  20. 5 A* {% ?3 y, l4 B4 I- |; l4 b

  21. 9 r, _2 {0 Z- {* t
  22. 5 A8 W' S  f5 L$ F; c8 k9 I: ]
  23. " O" P, n8 W) B; E' ?2 C
  24. //************1.图像上传************1 [) N* H7 p3 C1 J$ }2 V/ H% }( U
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    ; @4 S2 |; y1 b, a$ @
  26. $params = array(
    6 X' E, A6 a; H
  27.       "file" => "",//上传的单张图片
    7 c" y" u: h, T& D- o2 |
  28.       "key" => $appkey,//APP Key
    3 }5 M0 E  i+ l2 o
  29.       "pname" => "",//包名
    : M6 h' E: ?' |, w! y
  30. );
    + Z: p6 D% Y  ]! l) i
  31. $paramstring = http_build_query($params);
    8 R" M8 k3 c/ J; S- j9 M3 m3 e
  32. $content = juhecurl($url,$paramstring,1);
    ) _+ `) }; T2 `+ f+ N& z6 ~
  33. $result = json_decode($content,true);  o) i8 E0 e/ U4 B/ o; P
  34. if($result){
    5 y0 i; L1 M6 r" T: T5 Y+ Q" G! v
  35.     if($result['error_code']=='0'){4 X4 \. g8 Z3 @, E
  36.         print_r($result);. e" f; c! v( \- |# C. }
  37.     }else{
    6 D, A0 `. ~" {- p! n
  38.         echo $result['error_code'].":".$result['reason'];  j' A, j8 ~1 o, t: O( f
  39.     }! c, G* R1 h  o1 i  d' z) c
  40. }else{% r1 c/ @2 x, w7 _8 z4 t4 a8 ~$ s
  41.     echo "请求失败";, l$ M( p; N9 K6 O$ P
  42. }8 f5 L/ F# Y# K& f  R
  43. //**************************************************8 s' J. Z3 a4 d5 f$ [3 R; r, U5 d
  44. * Z: W5 Z' M0 _2 o1 q4 p( A, g
  45. ! [9 P2 o. e0 @6 c* O6 }+ C, s
  46. % T6 ^9 Z/ o9 [6 K9 S: z& W

  47. ( N; j+ a- e4 M2 O. l# q
  48. //************2.查寻上传图像信息************1 Z/ Q9 Q8 U# E+ [# i$ ?
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";4 [! u, v; }% {9 H/ d
  50. $params = array(& c6 L: F4 j. E: J( W- x
  51.       "key" => $appkey,//APP Key
    + k- [% z8 h0 ]/ t$ [% i% f  b
  52. );! q. g5 T' Z* ~) n2 k. e: Y1 T
  53. $paramstring = http_build_query($params);
      p( o4 b" u1 h9 Y
  54. $content = juhecurl($url,$paramstring);( @% N( x4 Q, v0 l' ]' g) v
  55. $result = json_decode($content,true);; i0 |/ b% A% E" g( t0 m8 }
  56. if($result){& I* u: @( j/ C( D
  57.     if($result['error_code']=='0'){% P! T0 B; ^: K7 F
  58.         print_r($result);
    8 O. Y- D  b2 h; s
  59.     }else{
    ( ?4 r/ V& g! L1 n2 \6 h% [
  60.         echo $result['error_code'].":".$result['reason'];! {3 H' P9 S% w  C* S
  61.     }/ r3 B3 Z- T1 h2 n
  62. }else{
    5 _- v8 D! K( o+ c: d* a" p0 W
  63.     echo "请求失败";
    9 o- d% I) Z- t8 f
  64. }! j8 j  \0 N/ L
  65. //**************************************************
    " l1 F2 L% q- P9 K7 p8 ?

  66. 5 [+ [3 t8 D  ?* J

  67. 5 ^3 U( x) c# D- `% Z9 Q& L
  68. 5 |' e$ \1 U  b( x
  69.   {/ l5 z% g( `1 a8 A5 D! A
  70. //************3.删除图像信息************- I' C% `$ n0 R0 ]. X( N, Y
  71. $url = "http://japi.juhe.cn/image_recognition/delete";
    * q# P  `" e2 G; z
  72. $params = array(2 P3 w7 q% @# _, X
  73.       "key" => $appkey,//APP Key, U! F* P+ ~9 x# [3 Q" G1 _
  74.       "imageId" => "",//图片ID) L: o& }. _# _% M
  75. );& \, g: A% D5 d' D
  76. $paramstring = http_build_query($params);6 f7 ^& O3 J- h
  77. $content = juhecurl($url,$paramstring);
      U2 Y( j5 z  Q6 ~
  78. $result = json_decode($content,true);
    5 c- \; t5 x4 X6 M* B
  79. if($result){
    8 f$ |! |1 c4 [1 Y' J
  80.     if($result['error_code']=='0'){! w) d! |, _! w
  81.         print_r($result);
    / l' O, F: w1 R9 z4 J
  82.     }else{
    , r3 j/ N$ }- Z# Z
  83.         echo $result['error_code'].":".$result['reason'];
    2 `  `7 u& O: |6 ?; B  p3 ~$ R
  84.     }
    3 @) u8 U0 t( @7 l0 [
  85. }else{7 q2 x; R* B, k- _
  86.     echo "请求失败";
    7 o6 {9 [7 w7 n4 M. @
  87. }# K# q$ M4 Z& h0 J  a
  88. //**************************************************; B4 U  _8 |; l/ E5 C/ V
  89. 0 b8 m7 X2 i$ r. [0 Y1 o4 a

  90. + S) n" L& W4 X
  91. 3 f! W, g2 }- @8 o3 r

  92. $ E; l) p3 J; J+ U* T: q. g% r
  93. //************4.图像识别************
    * M: e, j/ V2 F0 w- }0 s
  94. $url = "http://japi.juhe.cn/image_recognition/check";3 H; b6 e3 s, }  i/ r
  95. $params = array(3 \: i% r: b+ V5 G+ v5 h
  96.       "file" => "",//上传的图片# e7 ?% V0 |7 r2 X: T/ J
  97.       "key" => $appkey,//APP Key
    ; G1 Y) m6 `3 C3 u
  98.       "pname" => "",//包名4 }2 W  l% o& S) h
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)  m% D" l& E, ?: i; E
  100.       "device_version" => "",//设备版本(如:4.0.3)$ O/ m7 j( Q' i; x" [) Z
  101.       "latitude" => "",//纬度2 @4 S& C# R: M/ N
  102.       "longitude" => "",//经度
    + K- d. ]( e7 D7 h
  103.       "uuid" => "",//设备id
    4 R9 v% Y7 I7 p" u9 [. c# m" Q
  104.       "zone" => "",//请求地区0 K7 p" P4 Y& h$ @! {
  105. );0 J' m8 K" a, {  ?
  106. $paramstring = http_build_query($params);5 O6 a1 v+ F! h9 X' Y
  107. $content = juhecurl($url,$paramstring,1);
    , I9 x" _% y2 }2 s. P
  108. $result = json_decode($content,true);
    " ^" _9 J5 t+ H* U# R
  109. if($result){1 a& S+ ]/ W+ \7 t# ?+ |2 F4 H
  110.     if($result['error_code']=='0'){" m; @; v3 \0 Y: a$ F+ \
  111.         print_r($result);$ ^2 a* K! t& ~6 |' M
  112.     }else{
    8 m0 t: i4 U* ?3 X  f% O9 d2 n
  113.         echo $result['error_code'].":".$result['reason'];
    ; ^/ j8 ]1 p2 j, g0 s
  114.     }( Z. b: b/ }% I' S/ N1 b
  115. }else{2 W  d' @7 a5 t" a7 x) m: x
  116.     echo "请求失败";1 e1 F- M1 H' r3 p* k
  117. }7 Y  @" f; y* e, g. K
  118. //**************************************************
    3 H: l4 e' S2 R) g

  119. ( K# H9 M9 E& M$ o, {, L; y( Q
  120. 8 r  O2 M1 L  v' W' w7 t

  121. " M$ @9 S! W# f; C; z5 N' h) J

  122. + C2 \' C  w/ `) v; p' H
  123. ' E3 e# @. @: ]
  124. /**3 U( l5 n" Y/ @4 p, n
  125. * 请求接口返回内容
    ( }+ d9 C: ~" o5 L$ M: d1 ]
  126. * @param  string $url [请求的URL地址]
    / b5 G/ d0 Y; }; [9 G" B
  127. * @param  string $params [请求的参数]/ q: q  N+ P$ ?* F7 }* i9 Y% V5 x
  128. * @param  int $ipost [是否采用POST形式]. A8 i% g- Q1 w# w
  129. * @return  string  }, _: Z$ G# Q& a& [" j
  130. */
    , ?' I0 d1 w+ P2 W7 V& H. F
  131. function juhecurl($url,$params=false,$ispost=0){
    $ f' I( I5 h+ [1 t  Q: X7 U
  132.     $httpInfo = array();. L: ^" I1 @9 w& `$ q
  133.     $ch = curl_init();
    ; t$ U6 G# F: h3 r+ V" c3 \
  134. 6 a$ a4 h" e" \9 Q5 P. T
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );! M" n6 p7 I6 W
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );! @! h" K5 O" \7 F( A# D
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );" u8 K- C0 I4 M9 R1 I$ s
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    : d0 T; [2 S1 W0 E/ g- f
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );$ c- z8 w" X* I/ a) i0 ?7 h
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);! c1 ^3 h8 x- u% r) Z7 j
  141.     if( $ispost ), j. _: L% U/ D: s
  142.     {
    ! p% Z0 H2 M* M6 X7 z
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    ! S' Z) I+ j! J2 M  `/ z; j
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    4 U% J1 N4 R0 m8 F# y
  145.         curl_setopt( $ch , CURLOPT_URL , $url );7 d3 O- F/ p- o" E
  146.     }
    ; s4 F6 r4 Y" b; O+ ?. }2 r
  147.     else
    - {" c1 i6 _5 v' X! M/ i! y
  148.     {& m+ k- G+ U  T) F9 t/ I
  149.         if($params){
    ( r( m0 F2 q* U7 g
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );3 P* {5 U, K0 _. a7 _& k
  151.         }else{) q1 L* o% k5 _  u
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
    ! F! M4 S5 Q* l' k. p! s& j& ?5 b
  153.         }
      K* e# q/ M, j
  154.     }
    & @9 O' b! M% t" U: V# W+ ^' O1 k
  155.     $response = curl_exec( $ch );
    5 P% ^& U5 H4 A4 D* U3 a$ W& L6 w$ n
  156.     if ($response === FALSE) {
    1 i  X8 t! f" y. b3 k, W& V( t; ]8 \
  157.         //echo "cURL Error: " . curl_error($ch);5 a1 d/ a, _: G# ?& r; v* y, ~8 n
  158.         return false;1 c3 E" f7 ]) Q% r' o
  159.     }4 r2 k) P9 L. ~5 p
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );' D/ }8 f: u- F7 N
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );6 j% C( k% }9 R/ h( \$ W% t
  162.     curl_close( $ch );
    5 z7 y8 e; ]- F9 ~+ ?1 |
  163.     return $response;, Q- Y( S1 |4 Z$ Y- D& h6 b1 w5 U
  164. }
复制代码
* o. f, T! S* S" m3 V
* m) Q" Q# s& X
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-9-21 03:19 , Processed in 0.079448 second(s), 20 queries .

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