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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
: m* c5 z3 z% _1.添加商品信息+ W1 s1 S! N! [* T3 y5 A
2.添加图片; d) n0 b# E( R7 d
3.查询所有产品
( C0 z# h. C, F2 x4.查询某个具体产品信息
* o6 d; @9 k3 p3 m) n2 m5.删除某个产品
% b5 V$ b( z8 Q& O' B6.删除图片
! u! c# V  T4 ^7.图像识别0 |" Q9 r+ O( ?. S1 J

" F4 e5 @/ D0 m6 p6 \( c& v8 J% r图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey
9 z6 Z  z/ M+ c0 S4 k* L. J! V, D- A+ P, E
PHP示例:7 D$ Y: q) r) x+ O
  1. <!--?php
    : x6 r  V4 y5 I% W" ~
  2. // +----------------------------------------------------------------------' M( ]& H: q# m) B/ ^) N6 p# z
  3. // | JuhePHP [ NO ZUO NO DIE ]# ]" s4 x$ ^0 b' b
  4. // +----------------------------------------------------------------------
    2 d8 b  N- r2 S- N  F7 x
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.+ b' Y; g* E: k. ~
  6. // +----------------------------------------------------------------------% B3 c4 g. o  ]; G: U4 ~" ~
  7. // | Author: Juhedata <info@juhe.cn-->7 @- H( E# ]" f, r4 R8 W' S+ P7 m
  8. // +----------------------------------------------------------------------
    / r6 b$ K8 @# C

  9. ; k* C5 g8 X' k) k; e
  10. //----------------------------------
    - z* b9 q/ I: d) Z+ H7 m. O3 O, x' |3 B
  11. // 图像识别调用示例代码 - 聚合数据7 N! f/ Y$ i4 K9 s
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    4 m. v) r* n( }! ^# \8 ~: K4 g- b
  13. //----------------------------------0 R" O, x: n* N
  14. 8 i3 I- R, E! H9 Y1 H/ o6 N
  15. header('Content-type:text/html;charset=utf-8');
    / |: l7 N7 ^+ y7 l

  16. . ?( ~) t; g7 }( ]

  17. " ~; t; H6 Y( }: k) }4 q1 ]% M6 c0 w
  18. //配置您申请的appkey
    7 ]8 C5 z6 A: `7 x" a/ D# ^
  19. $appkey = "*********************";
    1 i, C3 D) M: `0 V( x
  20. $ i, b9 g4 @7 R* B4 {  m6 t" c
  21. ) \9 c: ]& \+ C* D
  22. # q5 j% ?9 R" ~. X( G" j" Z' J  `* r

  23. # |8 ~  M8 }7 N6 {& V5 N6 W2 b
  24. //************1.图像上传************
    1 c2 t, d4 {& v8 {5 O! k  ^
  25. $url = "http://japi.juhe.cn/image_recognition/upload";* [  l( U& U/ l! J# G' i0 N" n
  26. $params = array(. r# {. O' ?: o6 t. ~- s1 z
  27.       "file" => "",//上传的单张图片
    2 V0 Q6 f, z. a( w: K
  28.       "key" => $appkey,//APP Key
    ! Z4 \5 g8 y+ x1 }" y' r, p/ L
  29.       "pname" => "",//包名
    ) |" J( I" y  }
  30. );, f8 u) J. i1 ^3 Z
  31. $paramstring = http_build_query($params);# ?  P) E! w6 s$ E
  32. $content = juhecurl($url,$paramstring,1);) B) z* v& _6 w: E/ Q2 n2 `
  33. $result = json_decode($content,true);5 F3 V4 o! k0 v) M
  34. if($result){
    4 W2 q  i6 k# s! a
  35.     if($result['error_code']=='0'){
    7 I6 L. g9 W+ }( z9 E3 k
  36.         print_r($result);* O5 N; Q8 q3 h9 h
  37.     }else{3 K: F9 f* N, ~2 c( t
  38.         echo $result['error_code'].":".$result['reason'];. l0 L$ c3 C8 p
  39.     }
    7 f' F2 e2 q+ B# D5 y0 Y1 I5 W( w
  40. }else{* r3 s9 Q; K- o3 K9 X, K
  41.     echo "请求失败";
    " t7 A1 R1 y, h+ b4 H7 }+ W
  42. }
    3 u( H4 N4 c* S6 u3 H5 b  M- n$ K
  43. //**************************************************7 `5 Z2 z4 X/ _: s

  44.   a$ z2 J- X* l; [

  45. # _5 z3 u5 k2 [/ n
  46. 6 `# E: @) ^% j. {' @. }2 h
  47. , i1 a1 q# ^7 @1 `
  48. //************2.查寻上传图像信息************7 y6 F1 D. N3 P( A5 ^* \
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";! d' ^# p+ i, v+ X: l
  50. $params = array(
    $ E' V) P: R$ B1 z1 t* t+ L! j6 q( G6 ~
  51.       "key" => $appkey,//APP Key0 P# d7 G: v3 |8 X1 \  |  T6 p
  52. );
    0 {6 q0 k/ ~% N/ @! N2 F
  53. $paramstring = http_build_query($params);
    5 T) L' h: r6 D  {* i  X7 X
  54. $content = juhecurl($url,$paramstring);; e9 y- R2 O+ n9 F  Q6 j1 n
  55. $result = json_decode($content,true);3 @( A$ }1 s" \# ~: i; T2 v
  56. if($result){
    8 O1 W* L* Y, g& P1 `
  57.     if($result['error_code']=='0'){" u) u, F2 x+ Y6 `( [) _$ e
  58.         print_r($result);+ m6 Y) @( p# p0 s+ ^" F
  59.     }else{' g6 d  b0 W+ u
  60.         echo $result['error_code'].":".$result['reason'];
    & \3 j: |1 y. m
  61.     }
    : K% j! _3 i! c2 D$ x2 o
  62. }else{
    ) w& a7 q! d3 U# c* _
  63.     echo "请求失败";4 R4 f$ x6 W9 j$ M
  64. }
    ' I0 I* a! x4 ^5 X+ U$ ~$ c1 w; u
  65. //**************************************************6 G! u/ g; A& {
  66. * V0 b% g1 P, b7 l1 z; b
  67. 6 r$ ^5 X6 V$ b7 e
  68. 2 N5 w+ w2 [' P$ A) x' Z

  69. # w- W5 ~: c2 V0 E  T* E5 _! b' P' Y
  70. //************3.删除图像信息************
    3 e9 B7 u1 L9 G) y: `. V5 e
  71. $url = "http://japi.juhe.cn/image_recognition/delete";& _+ G& C" A! b" n- {
  72. $params = array(6 C6 y& b) x& Q$ b1 k8 n
  73.       "key" => $appkey,//APP Key
    5 t, x$ h* {- A( Y5 J: Y( m) q
  74.       "imageId" => "",//图片ID
    4 c* }+ V9 V) j3 \6 l
  75. );. d9 |5 t2 P# x0 _& G' P
  76. $paramstring = http_build_query($params);  s  l' i# t' }5 r# ^0 M  @; g' x, s
  77. $content = juhecurl($url,$paramstring);
    + D2 ?" J) l  K/ B
  78. $result = json_decode($content,true);" \3 `! q6 I+ m$ l: H2 \
  79. if($result){0 y- w/ ?3 ~; O5 F
  80.     if($result['error_code']=='0'){
    , t/ @6 A$ F$ Y3 S/ \; r" L5 J9 @; J
  81.         print_r($result);
    2 O8 o2 S, @9 w  b) I! i/ K
  82.     }else{
    & j1 U' C$ U5 B, O
  83.         echo $result['error_code'].":".$result['reason'];% V7 ^( W) B2 d5 G+ ~, q8 L2 b
  84.     }
    0 ]3 D. H' o. k$ O$ x  c
  85. }else{
    1 k5 X' ^5 j# y6 t* |* O
  86.     echo "请求失败";$ G' F5 e9 m% I6 B
  87. }
    ( e3 m! v' x! m# L
  88. //**************************************************
    $ j1 `' s) A% {5 m8 y. V
  89. 6 q4 i# m+ ?3 ]9 r- \

  90. ' Q- \9 o$ ]% P7 C3 ^/ C0 U
  91. 3 F; G8 d0 W$ C. Z# p! }

  92. * u. h5 A, j% _5 U" M% q' H
  93. //************4.图像识别************
    1 A5 v/ n, ?* C. X# x7 R. |
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    % L4 _+ r- H' A1 M( E
  95. $params = array(
    4 ]( m& K1 S+ S4 V- O! X
  96.       "file" => "",//上传的图片" s/ o) W; Q5 l0 n. y6 l" f' D- v
  97.       "key" => $appkey,//APP Key
    1 h; Y8 q: U! {+ r' x" u! I; w
  98.       "pname" => "",//包名
    + ]4 l+ g3 E& s) q* U* w" `$ H
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    / ]: W1 [: q) H0 L0 f& ^0 i
  100.       "device_version" => "",//设备版本(如:4.0.3)
    " z9 m. j+ a1 ^% H% O
  101.       "latitude" => "",//纬度
    / s. D8 e1 X5 e- {  B! L: \
  102.       "longitude" => "",//经度
    7 p# y: }0 B* Y/ Z6 W; ]- ]" a; s
  103.       "uuid" => "",//设备id
    ( [4 `" D, i1 A* {# K# y) p3 {
  104.       "zone" => "",//请求地区
    5 E9 A# f$ S2 o2 S2 _5 S- s
  105. );$ T0 e2 }& C, I
  106. $paramstring = http_build_query($params);, e8 p9 x- \2 j/ J- k
  107. $content = juhecurl($url,$paramstring,1);
    ; D! p, |) ^0 f, z* f7 r/ H! g2 ]5 m
  108. $result = json_decode($content,true);
    4 h; b  d8 T+ `, N! w7 t
  109. if($result){
    ( `* j6 e& Y) F$ J
  110.     if($result['error_code']=='0'){
    * w  k6 `8 {) {0 [
  111.         print_r($result);: x; L0 Y4 ]. D" [* y6 X
  112.     }else{
    . R5 U- ?8 c2 z" [* }" X& [1 S6 u- b
  113.         echo $result['error_code'].":".$result['reason'];, G1 u. P! I" R* a* M, V8 W' G' D
  114.     }
    $ D6 ?4 m3 X- V# F' ^: @
  115. }else{
    ' `- p/ p, M2 c/ G. F
  116.     echo "请求失败";# l! \. D; s: ?$ Y$ }
  117. }
    * G& Q1 X8 K2 V
  118. //**************************************************
    4 _0 G  \0 T8 I/ }& @
  119. 9 q2 Q% ]3 C2 S9 O5 F3 r

  120. 5 q+ t& R& n) q: p8 S" }! p

  121. 5 s3 q3 `/ }% v; |( H0 `

  122. : ~+ Z5 I( v! j" n  H- w

  123. 8 h. V0 N2 V5 d8 @& t4 N
  124. /**
      ]4 x8 x' N4 s7 A8 x2 I! U7 d' K
  125. * 请求接口返回内容5 S/ v: b1 g* e  }& l; k5 \
  126. * @param  string $url [请求的URL地址]
    7 M; W$ e) P: x0 l, i
  127. * @param  string $params [请求的参数]6 x! F( H! X3 b7 l( j! Q. k- v
  128. * @param  int $ipost [是否采用POST形式]7 s8 v+ R& N& ]3 [4 T) }
  129. * @return  string
    5 O* f& M" M% t1 c' j+ {  H
  130. */
    1 N1 l' [# f( s9 }. ^$ l0 T
  131. function juhecurl($url,$params=false,$ispost=0){
    * l8 h  ~8 _' C( n. M% A  g/ X5 J( r
  132.     $httpInfo = array();
    - x0 A& B1 b* q$ Y, R2 p
  133.     $ch = curl_init();
    % h- q& x) \9 G0 g2 t5 W$ h$ z

  134. # c) I% Q4 ^, Q3 [
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );5 O* q! T7 O/ T5 D
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    ( [! i) B+ j! x; L
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );) p1 p5 x) o% N/ I
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);, s: e9 i2 r7 N$ I
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );+ A& f9 l- b: R
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);' z  r; y. Q  c" A- D8 y8 T
  141.     if( $ispost )- Z# Z) U  V8 Q0 b  [4 e
  142.     {
    8 _+ Q$ q1 g" Y9 N9 v' h, z
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    . `0 f+ j# U  d- ~. ~1 q3 `- O
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    5 G" C/ F" ?4 t2 [
  145.         curl_setopt( $ch , CURLOPT_URL , $url );- [: ~% Z% E: {+ R4 i
  146.     }4 B9 c7 J# ^5 F# z5 }
  147.     else4 H" k5 K( M/ M8 ^7 T  I
  148.     {2 X4 F8 h* P6 y, V! ]  l
  149.         if($params){8 ?0 s% V+ V5 s3 W, A
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );* D$ v2 |* @- T2 o! }
  151.         }else{6 J9 O  n. t, M0 l8 q0 T$ m: t, _$ S
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
    / a, n- z9 y% ~+ _8 Q6 [
  153.         }
    - Y, X# E+ t0 y3 y. u6 @
  154.     }( d% G9 q2 ^9 I- s- L
  155.     $response = curl_exec( $ch );: t6 j% E3 s8 U+ N
  156.     if ($response === FALSE) {
    % y1 B/ p8 P7 {
  157.         //echo "cURL Error: " . curl_error($ch);8 e# o0 H7 Y: g3 ~
  158.         return false;' G! p) {* V$ ~3 _3 h1 u( x
  159.     }
    & Q" _- A; Y! M; G3 A: A
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    $ s4 q. N2 A; H
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );8 ~* g( k4 j$ l' Y; l  `
  162.     curl_close( $ch );" J% V& U. [7 M2 u: w, }+ a4 A
  163.     return $response;
    4 S" S& n0 C* a6 E4 Y
  164. }
复制代码
( L6 E4 q1 V5 b. w
3 R, k. k, u2 x7 }# ]" R+ g
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-16 20:01 , Processed in 0.060660 second(s), 22 queries .

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