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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。/ v7 b5 i* ^  N; u+ I
1.添加商品信息
- z; l3 P: l9 ^9 p+ A2.添加图片2 p; a$ q9 }0 f8 I; p& f2 ^
3.查询所有产品5 O. {# T+ Y3 K0 c0 P; x- d
4.查询某个具体产品信息
+ J1 @1 ], i( z5.删除某个产品0 e/ ]! k: U& c$ Z# c7 V
6.删除图片: ?: T: a7 r, m$ i3 f5 w& {2 q
7.图像识别
' Q) o3 T' \4 c" v' l8 e) F7 K- Z: x8 U. N6 {& b5 i* L/ e  f
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey
$ |5 j; ]; t7 r
0 B4 d7 a* v/ k0 i! ~- VPHP示例:
. Q) R) [2 x- E8 }8 P+ K
  1. <!--?php. t% R+ e. s. a: Q! v$ F0 w7 B0 u
  2. // +----------------------------------------------------------------------
    9 f$ P6 c. F2 ]# r* n& e/ h
  3. // | JuhePHP [ NO ZUO NO DIE ]
    & v* v5 y, A2 P
  4. // +----------------------------------------------------------------------
    2 R% f8 }; ]0 ^7 t
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.- g3 s2 a' \! c0 S0 Y$ D
  6. // +----------------------------------------------------------------------4 p  [. s$ ^* L3 J+ c
  7. // | Author: Juhedata <info@juhe.cn-->
    ; p1 I* z( `: W1 t
  8. // +----------------------------------------------------------------------
    ) Z6 J* E" p3 T! z. |5 Q) G

  9. 0 l4 r1 G9 I& I. H
  10. //----------------------------------
    , L4 ?/ f, u' I- |6 B
  11. // 图像识别调用示例代码 - 聚合数据" d( |! [  \: r  h
  12. // 在线接口文档:http://www.juhe.cn/docs/1176 Y7 S. F+ `; D& W! g5 a' l
  13. //----------------------------------+ s3 H- G) R& _

  14. 1 W: H; R4 M: [( r+ A3 n; C
  15. header('Content-type:text/html;charset=utf-8');
    ! Q% d+ N/ |! |$ ~- T
  16. 8 `9 P. w! q/ |7 \- I

  17. . s% m( d& Q. n9 _: [
  18. //配置您申请的appkey
    % x/ ^8 y2 s: m
  19. $appkey = "*********************";0 a2 @0 |% k5 D) s3 a7 u

  20. / o; c8 `$ j0 t( \

  21. & {% _6 N( }) X) s8 `

  22. , n8 v7 e' u& b+ e
  23. & a. F, C* T0 y$ S0 _' k( W& N. M
  24. //************1.图像上传************( f' R, @$ r$ l
  25. $url = "http://japi.juhe.cn/image_recognition/upload";  w; _. o* g1 I; r* R. c+ N
  26. $params = array(. i$ X9 x* }/ ~9 M) [! y- T. K
  27.       "file" => "",//上传的单张图片; i' Z3 H9 T8 c" F0 [/ Q" V
  28.       "key" => $appkey,//APP Key+ }( B% R* }8 D2 a" R' |
  29.       "pname" => "",//包名
    1 ]/ ^9 y  K: U0 e2 N8 c
  30. );# I3 K5 \5 _. @6 k5 R1 ^# c7 @
  31. $paramstring = http_build_query($params);
    ) K0 ?% C0 d( D6 a" C2 w6 `
  32. $content = juhecurl($url,$paramstring,1);% i6 H& i; n! N
  33. $result = json_decode($content,true);
    2 @1 C" N. u+ d% u7 _6 Q" f
  34. if($result){
    7 R- e$ \& @  _! ^/ v# Q0 |/ g4 {
  35.     if($result['error_code']=='0'){0 v3 ^6 a3 H4 |
  36.         print_r($result);
    + v: Z" J) n; D) v+ S
  37.     }else{  S/ c* g4 D: l; I& X4 u
  38.         echo $result['error_code'].":".$result['reason'];! J% {/ F9 f3 M3 ~1 w# C1 ]
  39.     }# y& f7 a1 ?1 P! _, G
  40. }else{) j; R7 B- b/ Y4 I/ v
  41.     echo "请求失败";+ \4 q% S7 O% P  X4 A" ~2 ~" q
  42. }. `7 g, D& N1 u1 @# q4 p' w) _
  43. //**************************************************: t2 |" g& ~% i8 Y( Y6 X
  44. % K8 F% b4 F8 |5 j" M
  45. - Q- o4 _4 V* \# _. k: a- R  I

  46. 9 y! U2 P1 u" q* z/ h  V  k

  47. : h: p! K2 X* \9 ]3 w$ l- x
  48. //************2.查寻上传图像信息************
    % w+ t# Y" A2 ]* X1 h# L
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    , ^( a* q& Q: \3 `: R9 z% w
  50. $params = array(
    & Q3 K$ ^9 ]" `& d% f7 r
  51.       "key" => $appkey,//APP Key
    ' u! B* D! L- F
  52. );( h) f/ e. w% R4 v! K
  53. $paramstring = http_build_query($params);
    / J8 s6 F2 f- I
  54. $content = juhecurl($url,$paramstring);* v; W9 n0 f; q6 g1 h; h1 g8 h; k
  55. $result = json_decode($content,true);
    ' e" F' z. P8 M! P' p; N6 ^  x
  56. if($result){
    - Y* S+ X4 `$ m
  57.     if($result['error_code']=='0'){
    * |7 C2 o* v$ m/ S% K1 _
  58.         print_r($result);$ G0 O+ e. s6 I! p$ Y; c: U3 ^
  59.     }else{; ]) @( U7 H5 @' @& U
  60.         echo $result['error_code'].":".$result['reason'];
    7 q( a: {& M# q$ W) R; K' ~. G
  61.     }2 w4 t8 U3 M. T& x* E1 p
  62. }else{( U* M" U9 F. J6 J+ k
  63.     echo "请求失败";! v2 ?( Z9 j8 d
  64. }
    7 h+ e1 e+ z( U# v" a$ B- p
  65. //**************************************************5 p7 w, L& v; ~4 @* O8 B

  66. : s# r# }" h) j' f8 G$ Q) N/ I' S+ @0 ~
  67. . ?- W+ i7 k- [1 W7 A" F) P/ j

  68. 1 p( Z& W7 [$ s! A3 K

  69. 5 U( p$ @' U$ ?0 \4 x7 v/ b
  70. //************3.删除图像信息************
    $ v- b  E* C2 T7 E! e
  71. $url = "http://japi.juhe.cn/image_recognition/delete";
    9 [/ p8 @/ A5 ^9 \+ U9 X9 h
  72. $params = array(
    $ @3 m& R0 e* R$ o
  73.       "key" => $appkey,//APP Key% Z, O1 M! b% o7 M8 J
  74.       "imageId" => "",//图片ID
      z% Y4 ?$ c3 ]7 {) v
  75. );: W! x" f+ N$ r  f/ w3 a8 F8 J) _
  76. $paramstring = http_build_query($params);; a/ L: n9 D& R; a
  77. $content = juhecurl($url,$paramstring);
    $ b5 c! e* x: Z
  78. $result = json_decode($content,true);
    - w9 j, T9 R% j* z5 e7 b& }8 f
  79. if($result){3 e1 g  s1 P8 C" k
  80.     if($result['error_code']=='0'){
    - d' ]6 A9 M( }# P( i' [+ \
  81.         print_r($result);
    " o$ U5 ~& `: L* b4 H
  82.     }else{
    ( ~- z; D7 H' M  j2 t
  83.         echo $result['error_code'].":".$result['reason'];* d4 |% X! w1 F3 U( {
  84.     }
    / O* A% Z) ^7 w& f! b
  85. }else{
    & f  o" C( j/ ?; J3 D! @
  86.     echo "请求失败";
    ! u6 ^# T; x# A- X
  87. }6 f4 h1 Z" ?3 q# C4 Q; ?/ `
  88. //**************************************************! a6 p$ {1 D# f/ l" U& ]- X

  89. ( `. D6 T" u2 \5 g  F0 @

  90. / |: D; M, R. S, f, V& Y5 Q- L

  91. 5 \6 _' R) z/ ^; e/ u* J) g. D: {

  92. " E: `! B0 q( |$ |9 E- M" m0 U
  93. //************4.图像识别************
    % v7 X7 `1 f  J; w/ W
  94. $url = "http://japi.juhe.cn/image_recognition/check";" \3 Z* f. A6 P: ]
  95. $params = array(
    8 x: I' |3 `( T4 Z* i
  96.       "file" => "",//上传的图片1 l- u; S- @& `$ q! o
  97.       "key" => $appkey,//APP Key8 ~$ N( R( D3 ?0 H4 C/ n; T
  98.       "pname" => "",//包名
    ( T' u+ c0 H( d
  99.       "device_name" => "",//设备名称(如android OS或iphone OS), g) ~3 Y* M" v
  100.       "device_version" => "",//设备版本(如:4.0.3)* M# F! v+ @( h  q  K
  101.       "latitude" => "",//纬度% M1 B, x0 {+ z& r8 E7 g( Q
  102.       "longitude" => "",//经度
    , ^6 D( U! Z/ J: p$ W
  103.       "uuid" => "",//设备id
      c7 A. Z3 [+ J' ]/ n
  104.       "zone" => "",//请求地区: G2 m6 G( \7 ~* T& q0 q5 V4 o% }
  105. );
    9 x7 Q; p& s% x' {5 b& P
  106. $paramstring = http_build_query($params);/ d. ~( x) e) a! h4 A- ^
  107. $content = juhecurl($url,$paramstring,1);
    4 b6 J- V9 p5 {- ^
  108. $result = json_decode($content,true);
    % R( j9 k% L' d7 ^. v/ F
  109. if($result){' s2 X" b: {2 U' d
  110.     if($result['error_code']=='0'){, g- Y9 w& d- R7 V+ C8 h
  111.         print_r($result);! B& N5 Z% l8 R( \# {8 j
  112.     }else{
    ( R5 T8 N8 k* |9 B5 e6 X4 [6 N
  113.         echo $result['error_code'].":".$result['reason'];
    " B+ Q0 S1 O- y: {4 s
  114.     }
    * \2 ]+ b4 _) L1 G1 j
  115. }else{) X+ V; }7 n( h% x
  116.     echo "请求失败";: R. t. d0 [+ _' R. o; Z/ s* ~) x
  117. }8 C% x- N1 [" A$ }9 N3 n2 ^
  118. //**************************************************
    ; V' b' w' H0 G" P. P4 r1 K
  119. / _9 T/ K% H0 P+ u7 H+ y

  120. , O" L, p' U6 k3 R# i6 w/ j

  121. : [0 H( j# P3 P$ A* x+ c

  122. / X, X, @0 K" I; ^( h' |  i
  123. : B) @% h5 P6 m) x  @
  124. /**  j, h! L& M1 |/ h$ ]7 a' B
  125. * 请求接口返回内容5 \4 H, I5 C' M" k) K$ p1 k  U% n
  126. * @param  string $url [请求的URL地址]$ t* f% W; O( Y: @
  127. * @param  string $params [请求的参数]
    2 K8 G1 {+ }5 Y
  128. * @param  int $ipost [是否采用POST形式]' h1 S+ j* I7 V% z, y
  129. * @return  string! z; b3 }. \. P8 [7 T1 v, ?! r
  130. */
    4 E: i# E7 v* a9 A: L6 N
  131. function juhecurl($url,$params=false,$ispost=0){3 e! K6 W: x/ U( D" W
  132.     $httpInfo = array();2 d; ]2 A+ t# [) w3 k/ X6 V
  133.     $ch = curl_init();7 ^5 h2 N% t7 S# U7 L' |
  134. # T( ?, v/ T7 E, D* J$ s# |
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );. ~! D2 F, o) B0 `9 s: U  A$ n
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    - H  c4 v& n. o6 Q! A% C
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );  ~/ U, U& z! s& c' h6 D
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);1 M: P) d; g; O2 U2 z' q2 @1 w
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );/ x7 S+ y5 ~) \( J  \6 Q2 V
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);3 I$ M, ^! X9 r6 h
  141.     if( $ispost )4 ~+ g  u/ g. ]
  142.     {( _& [, y6 p% J4 @* u2 j
  143.         curl_setopt( $ch , CURLOPT_POST , true );$ C8 k3 ~+ O, b
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    " T- o, }* y& b
  145.         curl_setopt( $ch , CURLOPT_URL , $url );7 J4 r2 `' I- n' a8 x' E+ r3 \
  146.     }
    # T4 L) ~4 z8 Q" O* W
  147.     else
    4 ]" O* d1 e2 U0 f& V0 n! d& q
  148.     {
      g7 X. l$ f: X  r
  149.         if($params){3 E& `8 u6 Q, X5 t" W. W4 W# l
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    $ d/ \4 x9 i/ r9 o$ u
  151.         }else{% V0 _7 q* A6 N% h" D; H9 F
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
    " U4 ]8 A' K6 l9 U
  153.         }
    3 L* ^  I# [5 L0 {4 A9 g7 n
  154.     }
    6 T7 k4 c3 V# X8 D6 @( K' w
  155.     $response = curl_exec( $ch );  X/ I# A4 Y$ Z! z2 y" Y8 V
  156.     if ($response === FALSE) {
      l+ P& y' R1 [! N" S! V4 L0 }
  157.         //echo "cURL Error: " . curl_error($ch);
    + p5 R5 {) R9 A# U
  158.         return false;
    " G$ _* X( F- d% X+ \
  159.     }4 f, N$ X% k; }7 T4 e
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
      m5 o4 ^& [$ L. S  j  K  M
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    % b. a/ M, b) ~# _4 |
  162.     curl_close( $ch );
    , l2 p! u+ C% M5 T/ z  c4 W
  163.     return $response;2 z4 M. j4 D0 d# B+ m
  164. }
复制代码
9 r8 v/ h8 c& _
& d5 S8 g' s* o, {
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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