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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。# ?3 [9 n- L  |1 m, R5 g
1.添加商品信息/ J8 U9 a( v- v) K& P' g% q  V
2.添加图片2 ]* p/ K! e+ H+ @
3.查询所有产品7 |+ f: e7 {- E4 Y. r
4.查询某个具体产品信息7 ~9 e/ X1 I8 T# H0 t( m" B& {9 l: V
5.删除某个产品
, h+ [5 ]4 K% O1 ~7 p- f$ j6.删除图片( D! X! ^* F' k2 p! k
7.图像识别
  e4 p8 }+ ?" N$ m
6 x/ ^" \  f- K; P图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey$ ~) z0 n: t6 z) K+ v0 R; _
8 D/ `1 y& {% L+ E
PHP示例:
% o2 f5 b% v7 y; X, {
  1. <!--?php  R+ \3 V7 ?/ a
  2. // +----------------------------------------------------------------------
      Z& l0 X* U# n. A
  3. // | JuhePHP [ NO ZUO NO DIE ]/ j+ A4 h9 T* q% m# G7 K
  4. // +----------------------------------------------------------------------
    ; |, D- y$ ~$ ~9 ?7 l
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    3 \: u! r, ~) O2 I- u8 F1 R- d8 i/ a
  6. // +----------------------------------------------------------------------
    3 w7 G+ G9 o: n' ^
  7. // | Author: Juhedata <info@juhe.cn-->
    2 a; Q( l0 X1 X
  8. // +----------------------------------------------------------------------
    $ k% R, `4 E+ K. d
  9. / ~8 l) O0 |1 Y/ i9 C) u" y9 v
  10. //----------------------------------; A, k& _/ Y% I& d
  11. // 图像识别调用示例代码 - 聚合数据
    $ p* S: e1 V- F( S; s) }# ]7 `; g
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    9 Q$ G* d) O, K* S# E0 D
  13. //----------------------------------
    ) a5 n; E# e/ f- ?5 Y. z
  14. - G6 H; R4 ]; b! a6 U6 M$ ^
  15. header('Content-type:text/html;charset=utf-8');  b5 T, X: W8 r

  16. % c9 |' u4 o  g  M- h$ C

  17. / x/ I! l( i- J* e( A/ F
  18. //配置您申请的appkey
    " {, h0 V0 L& i6 e9 N& L( `& v
  19. $appkey = "*********************";8 w( p7 f! m! M
  20. + @; J8 T6 T" V8 m! s; ^7 @# f
  21.   z5 U2 e; c( y3 D

  22. 0 y! @$ \) g0 j, Z& F! n/ ?

  23. 0 Q5 d/ J# f8 `( ]6 H
  24. //************1.图像上传************" V3 j0 }) ~4 S
  25. $url = "http://japi.juhe.cn/image_recognition/upload";% I; s6 P% K1 b( a. S, a2 b1 `
  26. $params = array(% e: h) }% R. G4 z3 ]
  27.       "file" => "",//上传的单张图片
    ) T, i  S$ w& L" N7 y
  28.       "key" => $appkey,//APP Key
    : ~) Q3 z  q0 R( \8 s: u
  29.       "pname" => "",//包名
    * D- z2 A0 u8 G3 ]7 O( Q
  30. );: S3 F/ N# k4 k5 t1 E. D" b$ G
  31. $paramstring = http_build_query($params);
    - E% x& m: K; O0 T# W
  32. $content = juhecurl($url,$paramstring,1);
    ; \* |+ W' X: u4 z8 V
  33. $result = json_decode($content,true);8 I. L: G. k8 ]" H0 L
  34. if($result){
    ; Q% E+ J3 \8 @3 S3 F; o% `
  35.     if($result['error_code']=='0'){
    # ?- E6 a, w& R/ Y
  36.         print_r($result);
    7 ~5 e9 _3 Y8 G
  37.     }else{. ~( M9 W/ ~+ \  c3 ?
  38.         echo $result['error_code'].":".$result['reason'];
    8 ^  W- @1 w2 P7 z7 u. u
  39.     }
    5 k; @3 x( m( W% k0 b7 O! v
  40. }else{
    7 \* M1 Q; ~2 y  T
  41.     echo "请求失败";
    1 ~- _- C% [- T: q4 H( h" R
  42. }9 p& N- d1 H" D( Q
  43. //**************************************************
    9 H) g& p3 l0 j7 _! e+ f
  44. " [9 q) a7 F1 f: K9 l

  45. ) M; S7 T& R2 _$ E4 _
  46. + v9 W1 \6 i/ o) c6 Y/ S( ~' q

  47. ! g& w) t8 |# k4 `2 `1 |0 J
  48. //************2.查寻上传图像信息************
    0 ~$ ]6 `' ]5 r% h6 U& O) M
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    . g  P0 T  F& K
  50. $params = array(
    4 C! P. ~( Y. ^# |) G# P7 s
  51.       "key" => $appkey,//APP Key
      V9 {" [+ j  T4 j' i6 M* U8 v. N
  52. );
    ( A) P1 t" C; ?9 U1 O+ p5 K* E
  53. $paramstring = http_build_query($params);
    9 y, q5 Q( I9 i3 g$ n, h# \
  54. $content = juhecurl($url,$paramstring);
    4 m. _0 g# \, S& Q, M4 |
  55. $result = json_decode($content,true);2 }/ w2 }" L" J9 p+ ~3 P  ?
  56. if($result){5 ?/ q! L5 Z1 d" x7 w' E, ^
  57.     if($result['error_code']=='0'){8 Y/ |- F! v/ ?: }& u" f
  58.         print_r($result);( E% {( _$ {! ?% F7 ^
  59.     }else{
    $ M6 O- B4 M7 I! c+ q" {
  60.         echo $result['error_code'].":".$result['reason'];
    ; R& J5 x8 s+ j9 f( a
  61.     }. y( V. E" ]" f' h' a( {  Y
  62. }else{
    7 ~3 f+ @5 R/ ^3 u$ P: x
  63.     echo "请求失败";
    & {" U4 I# P& F+ `5 n) X
  64. }
    * ~7 |6 k5 V( V9 ^  w
  65. //**************************************************
    ) c- }* r! Y* ?$ E* J
  66. ' Y! B0 }) E% a' C
  67. 0 l; x0 P1 J8 K8 g
  68. $ r4 ~4 s: P. J$ U+ Q
  69. / l+ Z* M1 g) t5 q8 L: \
  70. //************3.删除图像信息************
    . x. _: ^+ u9 S. S& \, ], @7 H) ]
  71. $url = "http://japi.juhe.cn/image_recognition/delete";& ~* M3 D6 Z. f4 H: w# M8 `
  72. $params = array(
    6 M' t$ e/ h% [/ o; d6 S
  73.       "key" => $appkey,//APP Key! F: b3 O0 x0 S% ^/ k
  74.       "imageId" => "",//图片ID' i/ c" |  O5 @, H* ?2 T
  75. );6 e& R/ ~% F, N# w& ^, w0 c, {- ]
  76. $paramstring = http_build_query($params);* u: u+ d9 z; t9 [# I
  77. $content = juhecurl($url,$paramstring);6 e* Q! `6 C: `3 r% y$ N8 j$ J
  78. $result = json_decode($content,true);
    2 x9 q: |2 D6 j# J3 u2 n. |
  79. if($result){" `! K: j  I& f1 R& x! A- G3 a" M5 Y2 d2 A
  80.     if($result['error_code']=='0'){
      `, Z0 c- P+ i+ [; z
  81.         print_r($result);
    0 M$ b- B1 C' T1 N
  82.     }else{
    . i% B5 S6 `: z2 G
  83.         echo $result['error_code'].":".$result['reason'];# y! C' a# C6 n% i! y  r: Q! ]8 P
  84.     }  Q$ j) N1 \+ U9 ?0 T% N" m
  85. }else{5 y  @, O/ |. {' o% x$ i
  86.     echo "请求失败";( a; V# [, z$ M, }# \
  87. }! z: A% C/ P& ]4 k. r
  88. //**************************************************
    + p  y$ o8 ?- ^% T
  89. ( t7 V& Q- ^" L. |

  90. 6 z$ i& |( ?$ k( b7 q1 P, Q
  91. * Y  y* N4 M7 P" e

  92. 4 M" h" X/ R: S
  93. //************4.图像识别************( N2 E8 p: E4 v4 m6 f* C; Z) P
  94. $url = "http://japi.juhe.cn/image_recognition/check";* n+ j3 C6 t8 K! s  }
  95. $params = array(
    - g7 X& f/ i  U- c9 `
  96.       "file" => "",//上传的图片# b8 ?2 h0 p5 ?. C3 Q4 z" C
  97.       "key" => $appkey,//APP Key: M' {& p4 q3 H0 z" a
  98.       "pname" => "",//包名
    2 p7 F7 k7 V* s' |# R' f  }
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    ( h: T9 Y3 m) k- ]' h
  100.       "device_version" => "",//设备版本(如:4.0.3)( M  m! @- C2 S% B
  101.       "latitude" => "",//纬度9 x! }: D" T' n- T
  102.       "longitude" => "",//经度
    + h# U& \' P) V- s
  103.       "uuid" => "",//设备id
    , l: O9 b! V1 w/ P# x" W' M0 T
  104.       "zone" => "",//请求地区; K! W8 K, C; L3 u6 O. E
  105. );2 P. I' |" ~: H/ q5 f& n% N
  106. $paramstring = http_build_query($params);+ g) {' X# l& q4 @0 i3 k
  107. $content = juhecurl($url,$paramstring,1);
    1 s; r- x7 R; q7 v* P9 ]
  108. $result = json_decode($content,true);
    8 c8 \4 w% F+ m9 f0 ~
  109. if($result){: u& y& Z0 ]. B
  110.     if($result['error_code']=='0'){
    / k: ]- o( H9 y* v4 I0 @7 \
  111.         print_r($result);
    # a$ d5 C" ~" H4 n8 h* {/ F
  112.     }else{
    & w" G( r/ b) \" Z9 S6 a2 B
  113.         echo $result['error_code'].":".$result['reason'];
    ! C) y" v1 G% l
  114.     }
      x2 L) p* x6 v4 d! P1 _
  115. }else{7 T* g* L% ~; D* r9 h
  116.     echo "请求失败";
    % x4 d+ b6 W  S2 f! o, P$ o1 S
  117. }
    ' N* r8 ?; x$ [' L. {4 q
  118. //**************************************************& j7 d& i) ?3 M8 }5 C

  119.   Z+ D) }! q5 k; m% k
  120. * |( N; O% ^$ ?& U

  121. 2 b  x$ y/ d) K) c' \0 P9 r

  122. 9 D) k7 l3 D/ ]. P( ]# _( ]

  123. / o' \: Z1 W2 H8 P! y8 W
  124. /**' k6 s+ G& z' `4 c7 Z* g
  125. * 请求接口返回内容
    3 f% A9 o3 ]3 a. l% g
  126. * @param  string $url [请求的URL地址]- x% y& W9 ~# s  g
  127. * @param  string $params [请求的参数]
    : W! R( w2 r1 J9 X/ c1 l
  128. * @param  int $ipost [是否采用POST形式]
    7 m% p$ R# u( ~5 ]/ T% c7 o# F9 \4 v, Q
  129. * @return  string3 c' m+ h+ `. D( i8 N
  130. */$ q7 j9 k2 z! J) K$ {' a
  131. function juhecurl($url,$params=false,$ispost=0){
    7 I( X. D8 M  K# [# b4 T
  132.     $httpInfo = array();+ t/ f5 S+ j8 m9 N# R' w, t
  133.     $ch = curl_init();+ ?0 N# i  {- `0 k) O/ @
  134. - g0 C. h2 M; a# t8 L0 i! j: t
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );, q. T: E- y' h# o5 {, c4 g
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );! U, b; X# S( D. x. K0 d/ `8 [
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    3 d9 w1 y# J) u
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    ( \. @7 g7 l$ P% E8 b3 X( f
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    7 U6 \4 t; [0 |2 f5 f! h6 N* P
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    2 ^6 d7 q( X* ~" I% Y4 c4 \2 r
  141.     if( $ispost )4 b6 @# V7 |* r+ n8 P
  142.     {* L! D( e1 Y0 A# k
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    ( p9 |) e7 W$ v5 `9 v
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    / }5 B, g1 K) l4 t2 q
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
    ' @$ |2 f% _# L. Z
  146.     }
    ! D! S! v2 M& E
  147.     else
    " e( ?! H! |& s! ~  ~9 l  U
  148.     {- y& X! v9 @; e4 e; T
  149.         if($params){
    % ?0 a. J! r* c+ {2 {& c
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    % _2 {. w/ o( U* o9 y% b
  151.         }else{
    6 F5 m. U! c& s
  152.             curl_setopt( $ch , CURLOPT_URL , $url);' ^; `5 F$ _4 x6 i1 O( b
  153.         }
    8 e# G9 M* u7 U  F1 T
  154.     }9 G; G8 d/ h4 H
  155.     $response = curl_exec( $ch );
    8 t2 ]3 [5 c4 H$ k6 m
  156.     if ($response === FALSE) {
    1 g% I- D1 A- @: R- P& k, S' x- }
  157.         //echo "cURL Error: " . curl_error($ch);
    : I+ B" I) t3 w& k; \$ G
  158.         return false;
    . S* Z- t7 m. b0 C: `" x
  159.     }5 \5 E2 {0 f! n
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );) E# X5 M4 P" Y) R. n/ B( _1 ^
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    2 N+ N2 F8 i8 x& I
  162.     curl_close( $ch );. V) N: Y- X- H# b0 w7 A
  163.     return $response;$ o- n" W6 F+ T8 d+ M: `) v
  164. }
复制代码

, y& }/ W" p5 U& _+ W, p, `& M& p; J( |+ ~" h; _8 r
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-17 20:01 , Processed in 0.072921 second(s), 20 queries .

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