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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。& o7 z+ l& v! f# Z* e' ?' f
1.添加商品信息
5 `/ L: ]% B1 `$ d2.添加图片3 s7 ^9 g8 ]0 h' H
3.查询所有产品. Q7 G- g9 Q; Q; V: r' E
4.查询某个具体产品信息
0 S- F2 S. [* u5.删除某个产品8 e9 n" d1 Q0 @1 @2 V% ?
6.删除图片+ A, v" H# e& |" g3 b* p+ B- U
7.图像识别. f$ ]9 h9 L, c
7 F" Y, k4 g0 x9 ^
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey
4 a8 D( j$ _- o. B  D& f; h, I3 K
; T2 o/ `$ d- O% l& mPHP示例:# g* s9 M5 c5 `4 h. u% x
  1. <!--?php' A* `  y! g. J, n9 ?- |
  2. // +----------------------------------------------------------------------
    ( f3 |2 W) G* u3 \
  3. // | JuhePHP [ NO ZUO NO DIE ]
    . S! R& v1 n! Z4 w9 w' \+ \
  4. // +----------------------------------------------------------------------
    2 |! A  h* n$ S! S1 z4 X8 P
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    6 f. m: Y. g# t
  6. // +----------------------------------------------------------------------
    ; x' o( r. \' }  Y( P* x
  7. // | Author: Juhedata <info@juhe.cn-->/ u1 `! f! Q" V- D3 q5 k6 j8 L* a
  8. // +----------------------------------------------------------------------
    . M7 v8 g8 m, x8 b' q

  9. , X" Q& z! L5 v4 c: H% ^
  10. //----------------------------------, s$ s6 b1 U8 c7 B- H
  11. // 图像识别调用示例代码 - 聚合数据/ a" S9 n+ m. t2 M3 H% O
  12. // 在线接口文档:http://www.juhe.cn/docs/117( V2 ~9 r. d, J
  13. //----------------------------------
    7 r% I" Y" d& Q
  14. 7 O8 C! |  a8 o
  15. header('Content-type:text/html;charset=utf-8');
    % ~( w5 {4 Z7 {
  16. ' }! Y+ N1 u9 Q' D; z

  17. $ Y( w( V2 j& c. j
  18. //配置您申请的appkey
    ( l9 T/ G! g3 f' ]1 n! T0 r& M  @, m
  19. $appkey = "*********************";
    & q1 _0 V9 a1 Q5 w$ A
  20. ( L7 x# p# E# y  d' a6 k
  21. 6 k7 _- X( R, ~  P; ^0 W) c" q4 e

  22. - }$ D3 ^1 A. b& t6 i

  23. ! A5 {3 l8 y( w& u- B! p& E
  24. //************1.图像上传************; Y, Z4 S$ @  T$ t/ y
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    1 G5 w, {2 g" _2 a& u
  26. $params = array(  M3 @! H/ H! [
  27.       "file" => "",//上传的单张图片& k- R5 b! ~; \* ]1 K: D7 W: |
  28.       "key" => $appkey,//APP Key2 V. l& y$ D( e0 y5 B+ |
  29.       "pname" => "",//包名$ \4 W+ F5 |$ n, J6 [) e
  30. );
    4 Z% T2 n0 A, q) F
  31. $paramstring = http_build_query($params);2 a- Z$ S# A, h$ u5 [$ e! r
  32. $content = juhecurl($url,$paramstring,1);
    7 q: ?# J% x+ [! v1 d& N: o
  33. $result = json_decode($content,true);; L  u" \  n) \5 r+ ~* |7 y4 M
  34. if($result){; T1 I; R, P3 B; R7 m% u  Q2 ^
  35.     if($result['error_code']=='0'){
    1 r, N6 I- Q7 ^) ^
  36.         print_r($result);
    ! z* f4 p+ j7 ?8 `2 X; |; b
  37.     }else{
    3 m! r- {7 O! `' J# p) j/ \
  38.         echo $result['error_code'].":".$result['reason'];
    8 Q+ j( H+ X! V( V3 j* K5 F
  39.     }# s5 D% d# E, O% d. H# T
  40. }else{
    $ k- G% J2 ?) W% x0 ?& X1 a
  41.     echo "请求失败";! a) e) n/ P# O0 _9 S' O
  42. }
    & B6 ?5 w( O8 R+ X( Q
  43. //**************************************************
    - C! X3 \" ?" {# k. z$ F7 g6 g! C0 }9 a
  44. 0 P" I; x5 K3 A) p0 H; O
  45. 6 p$ k* K- S7 A: t5 X: L
  46.   ]* N& [8 v$ ?  ]1 p' Z

  47. ( m6 l/ V3 D% G% b, B* V  Y7 s) Y. ?
  48. //************2.查寻上传图像信息************
    ' G, C9 ^$ }) e! v% n5 l" g
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    & ~( O! g  b+ k" |& `
  50. $params = array(
    8 g7 p" C3 Z( A) d  ]; }9 S
  51.       "key" => $appkey,//APP Key
    ! v$ v+ {4 K0 u6 x+ S' R4 H
  52. );
    " E! ]# _$ D6 J1 ^3 u" ?+ B; Y' V
  53. $paramstring = http_build_query($params);: J) I& `5 M! I1 g! ^
  54. $content = juhecurl($url,$paramstring);( a6 @; s, ]$ x, p. Y/ z5 n' w" [
  55. $result = json_decode($content,true);
    / k* b( [2 b+ s* W, c$ f
  56. if($result){7 w4 h/ [' G) i6 \  y, c/ D
  57.     if($result['error_code']=='0'){; x1 @& s8 v8 o) J
  58.         print_r($result);
    : \8 ]6 O% e$ E2 D1 L
  59.     }else{8 f: }7 k( [6 u, [$ f
  60.         echo $result['error_code'].":".$result['reason'];- n5 B: O" g8 V% G! O* J+ o, p
  61.     }
    ( G' F  f4 b! k* P* y' S1 Y
  62. }else{% W2 [8 }5 z" j, `- Z
  63.     echo "请求失败";' `. p% U* m* }- n  d- q
  64. }
    : x3 B- h: F. i/ T( i6 j( u; S
  65. //**************************************************& i7 e" w4 F  ^/ j3 Z# o! V

  66. / W( t2 [- n: [) X: ?
  67. 7 c( T2 C! D. s) G& a3 M

  68. ! \' c8 e5 n. {8 ?  g" s
  69. ' I* P; I  E2 {
  70. //************3.删除图像信息************
    ) Y$ |0 {5 n& I3 w. R4 K" |
  71. $url = "http://japi.juhe.cn/image_recognition/delete";% r$ t9 t: G# U8 ~' h* D- k+ B* C
  72. $params = array(
    : V" e$ a( G5 o4 b2 q9 g! B& L- `
  73.       "key" => $appkey,//APP Key
    ) \7 J. X" u* u+ E
  74.       "imageId" => "",//图片ID& S( S9 j9 L- N$ m/ X1 W
  75. );
    1 G- u: @! D6 d3 w2 C
  76. $paramstring = http_build_query($params);
    ( B" F. D% ?. U( e& T: F! `3 A
  77. $content = juhecurl($url,$paramstring);; _6 j1 V5 f: V% ?' D$ _$ m
  78. $result = json_decode($content,true);9 R, O8 ?* e- y# Y) M& A
  79. if($result){
    ( _5 X6 ]8 n. U. ?
  80.     if($result['error_code']=='0'){7 ~) k% o4 ~- H9 `8 f* F" q
  81.         print_r($result);
    : P/ @3 o/ V" n# }7 F
  82.     }else{
    ; ^( W7 D  W. e* f4 i
  83.         echo $result['error_code'].":".$result['reason'];% g1 x7 d( g2 p/ o
  84.     }
    ( E: u: |: ~9 k
  85. }else{1 T8 T$ ~* c  F) {8 A. N% ^( o
  86.     echo "请求失败";6 Y' @2 z- T" S9 w- L* ?1 r
  87. }
    ' n( t4 E8 s6 t) L1 U( |" s
  88. //**************************************************
    . Z# H$ N# r6 T
  89. 9 l: m' x. ^" }. i/ S

  90. * d% q3 y+ _/ N
  91. $ @+ Q( b3 f* B: `/ T: _* }

  92. ' q' Q3 l3 l* r; [9 F
  93. //************4.图像识别************
    % i0 W2 p2 y" ^. W) v, {
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    $ K* h. X+ A1 O3 A
  95. $params = array(, ^+ }8 B& n" u( M2 o
  96.       "file" => "",//上传的图片
    ' g# q# |& Z7 H4 a4 x: N. ]! h
  97.       "key" => $appkey,//APP Key
    " R* y% o1 a# @  T* B, E3 M+ t3 c
  98.       "pname" => "",//包名
    ) i+ Q' c; j; t% O/ V
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    $ t! [" R9 o" }$ O7 K' ?% a
  100.       "device_version" => "",//设备版本(如:4.0.3)
    ! T8 C, \# A! U( c( D
  101.       "latitude" => "",//纬度+ l- Z6 D7 \8 X! z/ F) c
  102.       "longitude" => "",//经度
    7 a8 o* d) F- p" q8 M1 ?
  103.       "uuid" => "",//设备id$ l2 i- V7 x6 J' I, a7 t) K
  104.       "zone" => "",//请求地区1 t" S: ^5 E. A" F+ K
  105. );
    2 c0 w; n! ?9 X+ Q1 u5 I: f. M, M8 g
  106. $paramstring = http_build_query($params);. u" f4 r) m" @2 r- l5 V- k
  107. $content = juhecurl($url,$paramstring,1);
    - p3 B9 o9 s3 j+ E& F7 V
  108. $result = json_decode($content,true);, K$ Z; }+ v4 M+ m! S
  109. if($result){* [; G: t" o0 M0 B- M1 a
  110.     if($result['error_code']=='0'){% e0 Q7 A4 f% p: Z- c/ _. t+ X5 G
  111.         print_r($result);  e3 _8 J, t& _1 t; j! R' X$ m* a
  112.     }else{6 v$ k9 g" q) s( B
  113.         echo $result['error_code'].":".$result['reason'];  ~3 A. s# z* W# ]4 B, ]
  114.     }
    4 W( c# a: Y- K; x* F4 ^9 E
  115. }else{* B" t/ Q1 k% M/ b. }
  116.     echo "请求失败";
    4 [  f% ]2 c! n$ |) \- c' U1 P
  117. }0 w' D. I; m. m: t4 r- N
  118. //**************************************************8 [  n% P) L9 f/ q. o# Q

  119. 0 [, a( w* q6 _- ?* j

  120. 2 |+ A; g2 ?$ n. e  Z7 h* w5 v/ }

  121. % i3 d  p: w; O5 u) Y6 U3 G4 W
  122. 3 L6 B/ Y1 J) t2 x; x8 Q3 F
  123. . _! u  N2 e- {
  124. /**0 @0 ^/ Z2 \" Y. U" G
  125. * 请求接口返回内容) P( ^5 K) @( J0 o% X4 M2 R
  126. * @param  string $url [请求的URL地址]/ |4 e$ K4 N( ^* C/ {; N( T( C4 Z5 I, Y2 X: t
  127. * @param  string $params [请求的参数]
    ! r7 g$ X5 n' {. t9 I. d5 O
  128. * @param  int $ipost [是否采用POST形式]4 Y! U/ \6 z/ ?8 ?
  129. * @return  string6 q4 {, e/ W; k# c4 N- E
  130. */- H/ `$ Z6 J) o0 L- q
  131. function juhecurl($url,$params=false,$ispost=0){' J9 a3 `# [% N; O
  132.     $httpInfo = array();& c$ p7 h: ~/ b: P* f
  133.     $ch = curl_init();7 h$ N, j# ~- `: T4 J) }

  134. * n8 n1 J9 D" s2 J; p. A: G" ~& q
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    4 x4 M! H, c% n' ~; @6 w
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );) H( S/ Y. c( \% P+ g% q/ w4 e
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    0 j9 C  O+ w& Y( }" o7 O+ H
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);- {& y5 r3 f' }6 C9 Q
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    ' l( U* T0 b4 |- N# i1 o4 d
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    7 K3 t1 Y; ], p, V0 p+ h
  141.     if( $ispost )
    & d) ]- Q) Z. Y: J# f
  142.     {
    ! o: I# I& O, Y/ G& s( W
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    4 `6 Q, K' Z# V8 O4 M/ V
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    ' d) s0 q8 V2 h) k/ m! M
  145.         curl_setopt( $ch , CURLOPT_URL , $url );9 l! [8 g! j( C& E0 b' Z& S! s6 _
  146.     }$ s8 X) P3 F: ~1 Y1 c  m0 S2 R; V
  147.     else
    / C$ t# v# ]& R3 k1 u
  148.     {! p3 m+ ^5 c$ k+ T
  149.         if($params){
    & G) N# O7 t  Y+ ^7 U
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    4 p: Y# G0 g- v6 g1 a% u, r
  151.         }else{: `/ X  i3 l! E8 v
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
      K4 O# }: R- O6 U
  153.         }; ^9 ]& w( m" Q' R6 V
  154.     }
    ! C9 ]! P0 V: X8 |* x0 e$ W
  155.     $response = curl_exec( $ch );
    # i9 i! U8 N& q8 E: ]6 T
  156.     if ($response === FALSE) {% _" e" z6 S& j4 W( l  Z" r
  157.         //echo "cURL Error: " . curl_error($ch);# p; U. y: t) }
  158.         return false;9 c* W' P( G" B* m2 \- l4 H& i
  159.     }" B+ q9 m! M" z+ {: v" ]2 q* o
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    6 T+ G. z5 Q% z7 b. A
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    $ Y4 s( f4 F" |) X' g
  162.     curl_close( $ch );, E/ K/ h2 }- `: @( j: m3 o
  163.     return $response;0 I) o4 ~5 U+ U. X) y
  164. }
复制代码
! ?. i. @- |$ t+ R% S
5 s/ X: B  v' x2 M3 Y; }' g
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-7-20 00:33 , Processed in 0.070098 second(s), 20 queries .

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