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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
1 P2 ]& W% S9 t0 j: Q- a: G6 X/ W) o: f3 s1.添加商品信息
* {$ J* O+ R; t' k+ H7 Q* l2.添加图片
1 c( j+ W, |4 c3.查询所有产品' L8 z+ O2 E4 J3 k0 {
4.查询某个具体产品信息
, e" B4 t" t; n1 t- M/ _, r4 o9 h" t+ u5.删除某个产品
. f, n: N/ D' p6.删除图片
/ }9 X7 x. {' X2 a4 i5 G1 U9 q6 ^1 p% Q7.图像识别
! r* \+ R2 Y- a( T- P! F
; Z6 J3 z6 `$ E$ P4 F7 m  M3 E+ W7 r图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey2 b& I) N% t" H( m0 Y
( A" C6 ^0 X. M7 m6 n6 u& _
PHP示例:* t8 b! T( Y! Y; b
  1. <!--?php
    " {9 C! S" v& _, j. j5 v- }2 v
  2. // +----------------------------------------------------------------------
    # A, ?( C" k  A: l
  3. // | JuhePHP [ NO ZUO NO DIE ]
    / b* ^2 H/ s7 G
  4. // +----------------------------------------------------------------------+ v1 D9 j: }8 @, t! A
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.: _' q8 e; \8 y% C1 N9 K" S
  6. // +----------------------------------------------------------------------
    $ o* I, g& B0 K$ [  ?$ o& s
  7. // | Author: Juhedata <info@juhe.cn-->' L- \& K& v8 N' ^3 |* k
  8. // +----------------------------------------------------------------------$ V6 p, O/ U- Y
  9. & V1 l! U4 z1 R1 \; a
  10. //----------------------------------% @, g$ a4 _* @% R. \9 Y) F
  11. // 图像识别调用示例代码 - 聚合数据
    ! t( ]$ f" M! L5 k& e0 H
  12. // 在线接口文档:http://www.juhe.cn/docs/117
      H! X9 K& f  O2 g
  13. //----------------------------------* n2 p! d9 d2 W3 h7 ?* w

  14. 4 B  V! B: ^& L4 x/ e" k) Y. @* X
  15. header('Content-type:text/html;charset=utf-8');8 ~* ]% @7 A3 z1 o  }
  16. . w  \, F' l% E0 c/ u

  17. 5 @! M" B. D' K% A
  18. //配置您申请的appkey4 A6 u3 J' b2 b$ U
  19. $appkey = "*********************";. [9 B2 W7 [3 l5 Q4 Z  r
  20. 0 L! C& e2 A0 q9 _2 J  y

  21. 4 e; Y6 |5 r( e9 F3 Q$ b7 P
  22. 9 z. y" B! j7 @6 [) y3 p% V
  23. % E6 z3 |. ~8 w
  24. //************1.图像上传************3 ^/ [4 M% ?+ O; ]; O
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    2 [4 e- n: S/ h' s
  26. $params = array(
    / g* u! Q; I7 A& L- I; y: D9 b; Q* K
  27.       "file" => "",//上传的单张图片
    5 |! o0 e4 N7 S8 l8 c% f8 o
  28.       "key" => $appkey,//APP Key; B, C1 g* b% x( g8 r# J. G% i
  29.       "pname" => "",//包名6 {4 }& I$ P/ I
  30. );8 b/ W& |) D& z- G3 o. y% u; z
  31. $paramstring = http_build_query($params);
    ' o  |' I% Z( M% j
  32. $content = juhecurl($url,$paramstring,1);
    0 t, N% V; i& z, H7 b
  33. $result = json_decode($content,true);
    . D% y' w( n' K. B) l
  34. if($result){
    + y4 N0 ]% u8 L: p5 }3 v6 Q' F( |
  35.     if($result['error_code']=='0'){
    9 {8 y( m: l; G- h
  36.         print_r($result);6 P9 `) A: r& G7 \- Q  M
  37.     }else{
    - a/ S9 x7 v: `5 @! o
  38.         echo $result['error_code'].":".$result['reason'];9 ^% D& W! K" g0 h& r
  39.     }6 g2 p5 e* L. K$ K
  40. }else{
    ( x: P, d1 W, b, j- }2 _8 a* R
  41.     echo "请求失败";
    + w- r- R  z& S$ I) W: T
  42. }9 s) C2 H9 p9 a7 `! D9 g6 R4 N# }
  43. //**************************************************
    * r- @5 l- X1 _% F, d2 Z! M
  44. 3 U$ F5 f- v! P, ]

  45. ) e1 i: P# f1 `" V2 b/ R4 P& a
  46. 2 a& C: Q7 P; ?; B6 M; ^: O

  47. ; Z1 _3 C2 b1 o# S9 ~, p
  48. //************2.查寻上传图像信息************& V* Z" ~0 o) K: \
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    # m/ j0 [8 }, o" M0 u% u0 U7 o
  50. $params = array(
    + n# W: _' u: t9 M; g) v+ D* ^
  51.       "key" => $appkey,//APP Key
    8 j$ a( e6 V, w8 q, x
  52. );* w5 m: d0 j0 L: N0 O5 n* e& f
  53. $paramstring = http_build_query($params);
    3 o- `' e+ a6 j& A4 O
  54. $content = juhecurl($url,$paramstring);
    # D6 t' i0 a  I
  55. $result = json_decode($content,true);
    + K/ d8 t; H& I' [8 G% i
  56. if($result){
    7 h4 m* W  g; r# C6 ?! K
  57.     if($result['error_code']=='0'){
    ) x/ N6 c& X/ q4 b2 u) n5 W) ?
  58.         print_r($result);; \$ E' y/ Y; r- n* u; E/ z
  59.     }else{6 V% b5 x* u- i# l
  60.         echo $result['error_code'].":".$result['reason'];) J' `6 a0 M) P% l$ I3 M% {
  61.     }
    ' _* z8 `" d1 G2 _* d: F. G+ G
  62. }else{4 B# k: L8 X$ k
  63.     echo "请求失败";5 ]( R+ u9 b5 L$ R% ~4 [' |+ U
  64. }
    ) Z: f" \* ^4 c% w
  65. //**************************************************
      ~; M# p1 W# N: l5 X5 Y( g

  66. ' Y% |" `4 i  e0 c. K
  67. 0 b% G4 l2 E3 \( v; o
  68. 2 a' a/ s3 T1 e  i

  69.   L9 t  I0 I4 i! `4 o
  70. //************3.删除图像信息************
    , t- C6 J' c- q% P! U; c7 ]
  71. $url = "http://japi.juhe.cn/image_recognition/delete";
    1 l7 X( ]3 Z0 j/ d- P) B* X
  72. $params = array(
    4 o& _5 A6 d3 i* X. Q; F$ o  e
  73.       "key" => $appkey,//APP Key
    ! O1 t! v/ M) @' s1 f5 L
  74.       "imageId" => "",//图片ID
    0 u) f0 q2 z# |. c0 A
  75. );7 I4 \2 W0 ^  a1 \# |5 \
  76. $paramstring = http_build_query($params);+ D; T+ Y% T4 |  `5 V
  77. $content = juhecurl($url,$paramstring);
    ( Q6 ?3 F0 Q0 b! d- P4 }& Q! k
  78. $result = json_decode($content,true);
    2 U9 t# f- [1 f, R* \1 b7 ^
  79. if($result){7 o0 \' u/ ~  H# J+ K
  80.     if($result['error_code']=='0'){( M: P+ A  w( m, `: h: l7 V8 l2 n; O; G
  81.         print_r($result);
    & @% Q+ M  `2 |  a
  82.     }else{
    2 ~# q, v, U; W: k# F" H
  83.         echo $result['error_code'].":".$result['reason'];
    - }; M8 p# t6 b- V+ m
  84.     }7 y& l: p" j( [
  85. }else{4 ~. L* Q; i% W' H" r$ ]4 o
  86.     echo "请求失败";1 }$ |+ q  `; y! `# n/ D4 f
  87. }
    4 m) _. r0 V  I
  88. //**************************************************8 X/ C: E. [1 {1 O# E4 A

  89. 2 v  W1 {8 O1 H* e% w, Q0 Y$ k# D

  90. $ [: s6 Y' h- a0 x+ T8 R6 \! P! v

  91. 7 `- ?' _2 A. P: C& `' I$ n

  92. , }: a/ p* U+ J5 H) s
  93. //************4.图像识别************
    9 u8 {' Q- Z. ~2 P
  94. $url = "http://japi.juhe.cn/image_recognition/check";/ x2 e" z7 N; s; O5 z
  95. $params = array(! `. [" I! g9 P& I$ J* c) G
  96.       "file" => "",//上传的图片
    : C7 X3 p2 {" ]+ b) F
  97.       "key" => $appkey,//APP Key. p# N+ b/ u8 ^1 u3 X
  98.       "pname" => "",//包名
    - [+ E% ]$ Q8 a6 F
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)% \  U! |! G5 O9 P. O) p' v( V2 S
  100.       "device_version" => "",//设备版本(如:4.0.3)
    + ]* V# L& n) F( a* S- W
  101.       "latitude" => "",//纬度1 C0 a+ T. O1 M+ Z9 ~+ B
  102.       "longitude" => "",//经度
    6 ?5 H+ K$ B# j  S: `
  103.       "uuid" => "",//设备id
    9 D0 c$ o7 ], h) ?9 }6 b$ \2 ~$ m, M
  104.       "zone" => "",//请求地区
    ; o1 q1 F2 B& z( i
  105. );
    ' a- k) ~/ i8 H/ X6 N6 U# a
  106. $paramstring = http_build_query($params);
    8 c0 O7 u  ~- ]7 P: M' _5 [8 s1 S
  107. $content = juhecurl($url,$paramstring,1);
    ' _4 M' Y$ |9 I: J- X* k$ s
  108. $result = json_decode($content,true);  t, N' m2 G# s2 n4 I! O! h
  109. if($result){
    8 G% J7 E0 F8 ~0 ~$ t0 g% X# u
  110.     if($result['error_code']=='0'){
    % G( J2 F3 ^  j0 i  ]& J
  111.         print_r($result);8 i7 j1 t( _. i' q( [  k
  112.     }else{9 i5 ?. e  _2 B# V. Y8 N
  113.         echo $result['error_code'].":".$result['reason'];) ?6 u6 }" F( ]3 S
  114.     }
    6 J1 |% R0 X. |& i& c
  115. }else{
    2 v7 M- V7 u) `+ P" J' _
  116.     echo "请求失败";! _. m0 J6 C# c' ~) Q
  117. }! A. S/ `2 t0 O0 @: r
  118. //**************************************************
    9 R" ^. C: C5 F: `" s
  119. $ S( Z8 Y3 P, K- z3 F
  120. $ K' a; s4 n. l  B+ C
  121. 8 ]2 v# g* `. h- i: J2 H* ~, j

  122. 0 j7 n. L! j( z; C. d

  123. ) y9 R! k9 z- x, w1 s2 y
  124. /**
    * p, p2 K0 N7 b. v' F, n
  125. * 请求接口返回内容
    ( F9 v' \- W) Q, @
  126. * @param  string $url [请求的URL地址]6 q' b% {' [; n
  127. * @param  string $params [请求的参数]( t9 ^6 T9 [/ f3 ?! j& Y1 m
  128. * @param  int $ipost [是否采用POST形式]  f( z( v( @" r3 g4 J- k
  129. * @return  string3 T! K$ y5 t6 C# E4 L  {
  130. */
    4 t- `' ^8 T; R& z9 c( u; d8 _
  131. function juhecurl($url,$params=false,$ispost=0){9 _5 g6 P4 @' F/ ?# b
  132.     $httpInfo = array();0 C* L. p0 a8 c, @* r$ q
  133.     $ch = curl_init();
    5 f1 x4 @0 i1 r2 Z" t

  134. * m3 ]! R3 Z* C5 h8 C
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    1 g# z" X4 u# K: ^5 f- Q
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    ! c2 L. v# h' L' J9 E5 S: Z& Z
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );# W8 e6 Q- b, |
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    - {3 n- x1 V: S7 k
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    ) H% x* ]+ r4 x9 f9 B7 K  S
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    $ P1 D$ V' s, d& }# U* \
  141.     if( $ispost )
    ' m$ q" B' A$ [. m
  142.     {
    , Q/ D; n7 |. ~/ r* X5 ]
  143.         curl_setopt( $ch , CURLOPT_POST , true );7 Z! J- {+ Q7 B+ ]2 n# O. p) @
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    ) ^. X7 h0 X; n7 |% N
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
    8 w6 o3 g! C) C& p8 ]: V/ i( L
  146.     }$ t5 M, ]% n  i% w" m* a/ X
  147.     else
    1 O! e  R% Z5 e1 e: l# L
  148.     {
    / P' \5 e/ W: m3 `2 ?+ S! ]* `
  149.         if($params){
    & V: r2 z$ K- ^  u2 h8 q0 f
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    0 x" E- k* x4 g; P% c
  151.         }else{+ g8 J. |! i# T" J8 A
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
    , O  O) k' T  [3 e/ y9 _
  153.         }
    4 r5 u7 Q) @$ [3 `1 h6 ]# B
  154.     }8 H. x9 [! g$ c; a" L, F8 B. |
  155.     $response = curl_exec( $ch );
    2 E- X2 m0 O6 U( b
  156.     if ($response === FALSE) {  D- x: @& K: K; R: {4 h& ]
  157.         //echo "cURL Error: " . curl_error($ch);
    ; X+ H$ N3 n& |0 l& m  v
  158.         return false;0 m* n% S; O/ r+ q4 |% Q8 x
  159.     }* }8 G, v  Q6 h2 Y0 Z$ p; b9 B
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    . i& h# b. Q+ D0 z& V, P! }
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );; {) T* A- k+ I# I$ g# F
  162.     curl_close( $ch );
    . W  z( D# ?4 `/ I; K6 Y0 V% ]
  163.     return $response;- z) k" z' f4 G6 `( E+ z
  164. }
复制代码
1 x" g0 u5 z1 K0 Y! s  a

5 o3 G$ v6 |5 c
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 10:51 , Processed in 0.058931 second(s), 19 queries .

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