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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
: B. `1 [- w0 Q- b! `8 B1.添加商品信息4 {5 f! ~6 o2 q0 g
2.添加图片
7 Q9 |! _. P; b. \0 d% y2 ^3.查询所有产品. B- H* Y' q" X  T. `' t
4.查询某个具体产品信息
6 `% X' H4 E! t- |" P5.删除某个产品
1 [% y- t" z$ I5 M4 g2 p# ^, {6.删除图片5 j' ^; v5 u% m* ]" s- b
7.图像识别& \! U) Z( r/ V8 t. R! c# Z

. U& U# S* r/ ?8 I! w) ~' h* |" l7 ^图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey
- m; T+ G2 z, ~4 w' b4 \
% o8 J6 p0 I3 T: a+ r- p$ ~" qPHP示例:
. t4 j- ^+ r3 ]# d! J2 F8 {) C# f
  1. <!--?php
    ) S7 v: |; p( j; F  f
  2. // +----------------------------------------------------------------------* q$ r0 }; }$ N" L+ s
  3. // | JuhePHP [ NO ZUO NO DIE ]
    ( H7 P$ p( D& u8 a) u2 Z
  4. // +----------------------------------------------------------------------, E/ ~( }' R2 K3 B6 y! z( e  W
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    / n1 R: e# f" N9 `0 ~9 n1 x
  6. // +----------------------------------------------------------------------
    3 Y7 Q6 y( v% [+ E; l7 ?- M$ A
  7. // | Author: Juhedata <info@juhe.cn-->) x, [8 S5 S  n4 W! A( F$ D
  8. // +----------------------------------------------------------------------
    ( J: q1 a. C0 a& Q
  9. & h3 T) N* A+ D- N
  10. //----------------------------------
    : a4 V! L, ?1 p4 Z
  11. // 图像识别调用示例代码 - 聚合数据9 f, S- a9 x8 e
  12. // 在线接口文档:http://www.juhe.cn/docs/117. D7 U) W; G) u  G2 F6 f# B
  13. //----------------------------------
    & E; y- ~+ k, }% d, P: L

  14. 3 o* L' w! X+ I( i# h5 Q
  15. header('Content-type:text/html;charset=utf-8');# B" r% I. R! V$ K  l  `: B
  16. % }) V; R5 A& v7 q( I
  17. # i3 E! R' V  i( u$ k
  18. //配置您申请的appkey
    - \/ D2 k1 d6 Z2 Q) S, W
  19. $appkey = "*********************";
    1 w: ^; b, N1 b* M" C  i

  20. & d+ h; {+ N+ [3 V  s7 ~( A

  21.   m' S0 y# j3 i

  22. " u: g! b$ X, @8 {$ F6 @, e0 y3 b
  23. $ F2 w  e8 p) s
  24. //************1.图像上传************
    ! s5 P' \. Z! f# \: M
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    4 T; r* c( Z: E$ l; @5 `
  26. $params = array(/ D4 _" L0 V  s/ m8 S1 U. C
  27.       "file" => "",//上传的单张图片
    ( ]3 }- @( `" ^/ v6 \* o, @
  28.       "key" => $appkey,//APP Key9 J- N3 D4 Q7 ?6 K
  29.       "pname" => "",//包名
      I$ F- K' w% ?9 v8 Q3 s
  30. );
    $ F; s4 O. O( o6 D; ^, |* l
  31. $paramstring = http_build_query($params);2 j/ X4 B* I4 a; m) y/ C1 N0 H
  32. $content = juhecurl($url,$paramstring,1);2 M4 C1 P. `! C8 j
  33. $result = json_decode($content,true);( R$ W* n4 k& r4 j3 Z: n
  34. if($result){2 `3 m1 C4 r" i
  35.     if($result['error_code']=='0'){
    4 M9 \# b+ M, v2 u3 c; x9 |
  36.         print_r($result);
    $ \9 x; n# j) C4 B% O
  37.     }else{  R3 N1 O5 o$ S, ]5 H
  38.         echo $result['error_code'].":".$result['reason'];6 L/ D  Z% i+ w5 C4 t8 D8 c
  39.     }
    9 n2 e# b9 D0 I+ g% N" L3 `, o
  40. }else{3 A  g0 I; v4 Y
  41.     echo "请求失败";. I" L' @' e$ C7 E
  42. }' J' ]& F1 L( w- C, \1 M* O4 \/ l
  43. //**************************************************0 ?0 l; g& B% O: J6 O# H+ ]9 B' A
  44. 1 L5 a& z3 R" X  t1 g
  45. 4 }. L6 O' r6 C* y  |
  46. ) i  H* f) V5 s  W9 z- e

  47. 6 r0 i; t: a2 p  y$ ]: |+ H! l9 ~
  48. //************2.查寻上传图像信息************
    1 e6 Y" x* b$ V4 o5 u0 ]
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";$ h& X* `4 }4 D3 G" N4 f( G
  50. $params = array(
    / e6 W( w* E" {: m, P: |
  51.       "key" => $appkey,//APP Key# y' g! n1 R: {: c* Z5 s
  52. );- G3 D/ F! `4 `$ ^- N
  53. $paramstring = http_build_query($params);
    ! D0 {% f  _& j* X4 l
  54. $content = juhecurl($url,$paramstring);0 n& V$ `  ^6 d# O/ C+ J
  55. $result = json_decode($content,true);
    $ b6 l) F; w; U( P6 A8 b
  56. if($result){  P  e! \/ D" i5 L, P" B+ n5 V
  57.     if($result['error_code']=='0'){" b7 i! D. [+ ~! p6 d, F
  58.         print_r($result);
    7 @/ {$ R( e5 S
  59.     }else{1 s6 J# E+ g$ g0 A8 |/ T8 ~
  60.         echo $result['error_code'].":".$result['reason'];
    ) W3 t0 a" |. v6 u
  61.     }& F4 R  E; I- ?. r6 w
  62. }else{9 X- d' [& D& P, w
  63.     echo "请求失败";
    . J8 o+ e# o; T) _* l
  64. }; y$ G+ A) |7 i5 ~
  65. //**************************************************# d+ E% O2 V$ M% ^4 |
  66. 1 h7 \0 Z; {, e

  67. 3 ]$ J5 O7 x7 l  X3 s+ c

  68. ) E, @9 @8 n" @, X- H

  69. + U7 p9 P* l  L8 @8 q
  70. //************3.删除图像信息************/ }6 g, h/ u6 [( T. R) X
  71. $url = "http://japi.juhe.cn/image_recognition/delete";
    " v7 n( h4 v! M* g- {% a
  72. $params = array() s: E; E9 d9 e) I
  73.       "key" => $appkey,//APP Key
    # I" n7 ^1 z) @1 L
  74.       "imageId" => "",//图片ID
    3 D% n8 l9 T# m1 s3 D; N
  75. );0 H3 g# Y8 Q2 c0 a+ Q$ q# l
  76. $paramstring = http_build_query($params);
    6 }8 V0 h# N4 s- v7 e
  77. $content = juhecurl($url,$paramstring);) c! A% j: R9 p7 k! p
  78. $result = json_decode($content,true);
    % L, h! N) ^( e3 Z
  79. if($result){5 v% X% a- t, Z) R9 d- C! F) r$ n
  80.     if($result['error_code']=='0'){9 s1 H/ d7 p) G- h2 S% o# x: J
  81.         print_r($result);
    ; _1 [" S+ u; w8 u; @" [1 l
  82.     }else{( D/ M; t7 k. M' Z: {' f) [% V  I
  83.         echo $result['error_code'].":".$result['reason'];
    " K* E$ D) P1 v" H4 h! U6 [
  84.     }
    1 `: p4 r# m" M3 {" q* V* j1 j; ?, I
  85. }else{
    : Q0 V6 |- c9 G$ N: e
  86.     echo "请求失败";
    " d* ?9 b6 ?; ]5 r% J! y& v  ~! n$ X% g( J
  87. }- e# k$ i. q. O8 C' f& \1 n7 K/ `
  88. //**************************************************
    # h4 `% @8 L5 p8 E/ g6 ~

  89. ; x4 @( s2 f3 K- K" N  i
  90. ! ^9 e% t5 n* m7 I% R
  91. 6 a2 W! w3 N$ u2 V
  92. 3 Y1 ^  D9 N' {
  93. //************4.图像识别************
      ^$ Y. J; s/ i! E
  94. $url = "http://japi.juhe.cn/image_recognition/check";, Y7 L" ~$ Q3 b: W" [+ Q
  95. $params = array(
    : p5 K  d2 a" e- @  h2 T- z2 c
  96.       "file" => "",//上传的图片
    ; u: b6 d5 S$ \/ ]! H+ S1 L
  97.       "key" => $appkey,//APP Key
    / k9 B2 S' f- y. h4 G
  98.       "pname" => "",//包名! W0 P# h# ]4 ?% o1 N- l
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    3 m( L: y3 V' e# P! n* K/ ^
  100.       "device_version" => "",//设备版本(如:4.0.3)
    $ ?; o1 ^7 @* ]& @8 E/ k* z3 I" r
  101.       "latitude" => "",//纬度: i. v, b3 F% O- H0 f
  102.       "longitude" => "",//经度
    6 n. Z: n5 R: q# p/ i7 `
  103.       "uuid" => "",//设备id) e4 C4 \6 X, d- d, ^  d3 q
  104.       "zone" => "",//请求地区
    - k% O' Q2 P' B2 E- G: N
  105. );+ t( [* ]% }  S- y
  106. $paramstring = http_build_query($params);( i+ d1 ?! Q5 g- H
  107. $content = juhecurl($url,$paramstring,1);6 v4 k& k. n# \/ l9 ?
  108. $result = json_decode($content,true);7 x3 v  N* Y) G
  109. if($result){0 v9 a: Q( d/ p" ]9 n
  110.     if($result['error_code']=='0'){# v1 N5 A- k& f" S1 ]; W
  111.         print_r($result);
    ( g3 ~; s( N' _2 H5 g! `! Y% ?9 `
  112.     }else{' n: T. m( t, ^: y" ~6 g: I/ t
  113.         echo $result['error_code'].":".$result['reason'];. ~% q( u7 V3 m
  114.     }" h9 k' ?8 x' w2 _" Y* l* Z7 L
  115. }else{8 M' b/ I& c& q
  116.     echo "请求失败";* U6 }! W6 H& t
  117. }7 ]; T6 y0 t& p) s+ z& ?
  118. //**************************************************
    2 ^* a5 S9 O8 |0 Z' D

  119. / g+ m) \+ k8 u- ]* M7 i, j9 R, S

  120. 2 Z4 ]' h$ `- ^" C! |9 M8 c: [
  121. * ?6 Y( t4 H# Q8 e
  122. 9 F( Y6 Q; r; y  M" T0 p& `9 y

  123. $ D8 J8 E  @% D. d3 L4 O- M
  124. /**& L0 E3 s- t" n$ t! A
  125. * 请求接口返回内容' N9 G1 w, {! ?; ^
  126. * @param  string $url [请求的URL地址]. z9 D5 d- V& u
  127. * @param  string $params [请求的参数]
    . l+ c" p- Q6 V& h
  128. * @param  int $ipost [是否采用POST形式]7 m0 k6 {+ j- h4 c- s1 ^) C
  129. * @return  string
    , `2 R6 T# N8 u# ?1 ?% Z7 z/ D% D
  130. *// _) j# l/ y5 B4 m3 S0 f; ^
  131. function juhecurl($url,$params=false,$ispost=0){! r* A" ]8 [8 l+ |& _$ E
  132.     $httpInfo = array();3 V6 k$ ?, I& E2 r9 L) ?
  133.     $ch = curl_init();
    ' c3 w1 y6 m$ G; x

  134. ) T/ H4 t/ R8 U4 w- D( D
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    0 b6 I4 V3 P3 Y1 N7 q4 w% J2 q
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );- j. k* j, C) P* q0 p! x
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );- ^- ?$ X4 l% S. ^, Z7 ]3 @& j
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    ' h5 a  j: t0 {+ o3 Z
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );3 Y& P% Q: f4 ^+ i) I9 |& f
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);, L/ |# E' m2 }6 }) S
  141.     if( $ispost )
    * t, F2 D: m- l8 K/ x1 _+ ~
  142.     {. _# P; l7 R5 G, j' N6 b3 D# U, x
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    . O. e* o  u$ N, e! u
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );0 f8 w+ Y' j7 D2 n
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
      M+ t$ v- H# u5 m7 b4 {+ S
  146.     }; C+ N  H/ V5 n. L. F  N1 t
  147.     else
    $ A$ i1 m- W5 g! {
  148.     {1 H1 H- g# ]' z! _
  149.         if($params){3 D. }) a# ]6 q+ _- ]0 s! T2 C
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );+ E0 k* T: o7 \5 C! `* D2 A7 w
  151.         }else{
    / _1 y, w) m: P3 l) c+ h
  152.             curl_setopt( $ch , CURLOPT_URL , $url);- L6 r; T; y& Q& ^6 v- s+ t
  153.         }6 I: |# E2 n6 E2 o4 [7 m
  154.     }
    - u5 Y7 T; p4 {  D
  155.     $response = curl_exec( $ch );
    * y* ]0 j! E; c9 t6 g4 x7 G3 c
  156.     if ($response === FALSE) {# W/ |; G" m# B
  157.         //echo "cURL Error: " . curl_error($ch);' \$ F$ Y8 t4 B  g6 i+ O
  158.         return false;
    ! P2 r5 _  J7 d, g# F7 X! b% N. m
  159.     }. C. c$ n3 A6 m5 G) S) \& q' _
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    : u8 H5 J' E  }+ g* A8 j+ u
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );; [6 f/ y& T, Q$ a1 [( e# o) W  r
  162.     curl_close( $ch );
    2 n6 ~. `6 z, v* Z$ R7 Z7 R
  163.     return $response;
    5 J  r, K7 l; _
  164. }
复制代码

* ^/ `3 z. P, q& y! M( v$ x  ?' o* ~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-7-20 00:32 , Processed in 0.074596 second(s), 19 queries .

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