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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。( l4 h) S9 `3 V# ?0 h
1.添加商品信息
4 g( S1 i2 V/ ?& V3 E2.添加图片
/ i9 _3 y* P% @# D2 p3 t; n3.查询所有产品
1 X* M- r6 h% n+ {4.查询某个具体产品信息
, v, X6 A: F6 A5.删除某个产品! T- }* [) z' `. g; _
6.删除图片/ ~  n5 ^4 I  {: K2 k9 |3 W
7.图像识别
9 n; @$ N3 E$ i* m/ T. g& S7 g  I8 S+ Y0 H' ~' G. P) A+ F- b
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey+ G+ u; t6 V0 A: |# {
7 ]0 H! G0 R7 Y
PHP示例:
' P: z9 Q5 ~3 S
  1. <!--?php9 P; d6 w$ N! {7 O) A
  2. // +----------------------------------------------------------------------5 p( N: `7 a; s% h$ o& o3 o4 K
  3. // | JuhePHP [ NO ZUO NO DIE ]) Z: \) F- S6 @8 A/ r4 m7 ^
  4. // +----------------------------------------------------------------------7 A5 W% k9 J7 O& ^% Q
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    " k& f8 y; v5 w5 q) P
  6. // +----------------------------------------------------------------------
    * W8 E+ I; Z# Z7 m" C( ^0 E% ^7 q
  7. // | Author: Juhedata <info@juhe.cn-->7 @0 h; E* z  S: @0 d
  8. // +----------------------------------------------------------------------
    9 ^* [% y$ A* d6 \3 _
  9. ! L3 T! ~: D. V5 H9 T
  10. //----------------------------------' q, u! y) j- o. C- t3 S
  11. // 图像识别调用示例代码 - 聚合数据' `5 E+ D  N. J
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    ( d+ j6 _( V% @" n0 W4 P
  13. //----------------------------------
    1 E/ C0 C* Z7 |. D0 ~  E

  14. , N( F& F/ m, U5 p5 Z: `$ @
  15. header('Content-type:text/html;charset=utf-8');8 a& ^8 k8 t$ X+ l2 J# G# w

  16. 9 X; i; Y- z) @; X/ z/ f/ X
  17. + t9 d/ u6 }+ k3 r' T1 P/ {
  18. //配置您申请的appkey8 a2 Q( t  O. y: O+ z4 ^4 Q
  19. $appkey = "*********************";# F; e- K: W7 F  q- _
  20. ) J; s9 o- j- d4 B0 E) G8 b, p

  21. 4 K7 z4 ~, ?: X
  22. # E( l* n0 ?, ?% E+ _) G% v

  23. ) [: v4 m! |$ ?+ q5 \' @" r) M
  24. //************1.图像上传************4 p: ~+ H4 V) r
  25. $url = "http://japi.juhe.cn/image_recognition/upload";% m- [& S4 h* T2 \
  26. $params = array(
    2 s5 {  l3 k' L% ~% {7 Z' q
  27.       "file" => "",//上传的单张图片* z5 p% t1 o8 H5 D  E/ Z% y9 t
  28.       "key" => $appkey,//APP Key1 R3 h, g) S! A0 w( ~5 W6 p" N) p
  29.       "pname" => "",//包名6 y4 l$ n, k+ B: i1 s! }
  30. );
    / m* X! \; J0 m5 U* P- w* w: r8 g
  31. $paramstring = http_build_query($params);' i" W/ n/ W, f4 ]1 D
  32. $content = juhecurl($url,$paramstring,1);: n, ^, i# w; z, [' k( D
  33. $result = json_decode($content,true);
    ( j% f  I% K/ F7 `: f7 M
  34. if($result){4 O. J4 p% X/ I; H% e0 {7 C
  35.     if($result['error_code']=='0'){; _& i" u2 U; y3 n
  36.         print_r($result);% x" X* L4 z* Z
  37.     }else{
    1 i0 I2 h; N2 {/ V5 p
  38.         echo $result['error_code'].":".$result['reason'];. Y# e8 A! P- I. C
  39.     }
      S' U  `, l4 p
  40. }else{
    7 y; ^4 n! l$ }1 ^
  41.     echo "请求失败";
    4 m1 z# f$ k9 O  n5 |
  42. }
    ( X% V- N7 m2 T4 ?% U+ F
  43. //**************************************************! I2 Z& x5 R" {# H- E( o2 Y$ a

  44. 5 `7 {. V" E. D

  45. . `, ]& Y% C% k
  46. % ?. a! k( H) j5 j1 @$ E
  47. & N" g" g+ l. @; k% @
  48. //************2.查寻上传图像信息************
    7 [4 g  s) b7 N
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";4 n0 x1 Y: n3 o" H
  50. $params = array($ `* K, e# Y9 k7 Y: P
  51.       "key" => $appkey,//APP Key
    / x4 L# @  h0 f
  52. );
    4 I0 q( K5 }1 G1 i5 j6 `& N8 j
  53. $paramstring = http_build_query($params);, y) b3 v! }2 G; G6 ]
  54. $content = juhecurl($url,$paramstring);
    8 b: T, ]# x: a% k
  55. $result = json_decode($content,true);
    " m5 b* |$ S. M4 M: c) L
  56. if($result){
    % q; m# G" ?# A# q2 m
  57.     if($result['error_code']=='0'){  h! ]4 w# q0 s$ V
  58.         print_r($result);7 i1 R2 Q! z2 g6 w' U9 K
  59.     }else{
    $ q& u( B8 C5 d
  60.         echo $result['error_code'].":".$result['reason'];3 a0 u7 u9 B  N) @0 T) x: N; Z- R
  61.     }
    $ v, P  G( F$ D% z
  62. }else{
    8 `- z; t# S4 k! v$ i
  63.     echo "请求失败";3 K7 z2 c6 C& |; x  Q8 K
  64. }- v: i7 e! f1 W8 |0 l
  65. //**************************************************1 o* a$ f/ U0 C& E( d

  66. . x- B$ V6 r- Y! N  ?' u, [, g& ^: q" L) I
  67. , @) v5 S* d  F/ T5 M7 i2 n' c( }8 C5 i

  68. & `! C" A% F: J

  69. 5 D, }9 n& M* q2 ~
  70. //************3.删除图像信息************
    + n* j  a' I; d$ j, d
  71. $url = "http://japi.juhe.cn/image_recognition/delete";
    7 [2 ~8 ?+ `& ]6 H" J
  72. $params = array(
    5 X( k) K" Z# C, L7 W4 L; O* ]
  73.       "key" => $appkey,//APP Key
    1 \9 a& v# P6 R, X' `3 |; ?
  74.       "imageId" => "",//图片ID/ P1 L. R. r6 o7 @  v
  75. );# _3 |/ h6 a! a! `; }
  76. $paramstring = http_build_query($params);
    8 @: ~4 |, s1 ^: r! u% R+ ?9 ~
  77. $content = juhecurl($url,$paramstring);
      n+ O9 H6 f7 O) u& K  N: d
  78. $result = json_decode($content,true);. f. s% V0 ?+ d' N0 Q0 W8 x$ C
  79. if($result){$ U. g% {/ S1 j
  80.     if($result['error_code']=='0'){9 p* y0 z- P/ |" w: G
  81.         print_r($result);
    - ~# C8 u; h: }5 L
  82.     }else{
    $ L1 ?# u" Z. i
  83.         echo $result['error_code'].":".$result['reason'];7 v% w, i; n1 s) K" y
  84.     }
    1 ~5 D+ C; F; T0 r
  85. }else{8 o1 L& |; D1 U7 t0 S
  86.     echo "请求失败";
    " _- C( B* A- v; R
  87. }
    ) T+ D  o4 j6 m: ]5 E; H* P/ \
  88. //**************************************************
    : \+ ^- i! o' j" d" @6 j1 g

  89. & L) n$ Y3 q, }0 E  }1 d) U
  90. 0 `& A, E& G, p; U0 ^. `6 N0 v9 M1 A- |

  91. ; F' A1 @. z- L& p0 q3 E2 F* Y' R
  92. 1 {6 T5 @+ }; r* r+ Y
  93. //************4.图像识别************- j' V! C8 [9 _, P$ W
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    3 a6 b8 T5 K* X1 s  g
  95. $params = array(; s& l4 A6 v3 K$ n
  96.       "file" => "",//上传的图片
    0 @3 M, u9 T) K" S% R
  97.       "key" => $appkey,//APP Key
    $ [6 k+ K: L& f- z+ d
  98.       "pname" => "",//包名
    7 ?" l) w9 ^9 \& T. A# O3 y
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    $ J$ F$ Z. P7 n0 j# O- `0 y
  100.       "device_version" => "",//设备版本(如:4.0.3)
      r$ Q( v: d, L4 l/ S! f
  101.       "latitude" => "",//纬度2 H8 S( C4 i5 X) z# o
  102.       "longitude" => "",//经度
    2 p+ J/ g8 l0 q9 c: B- Q, b
  103.       "uuid" => "",//设备id
    " A1 d, P( `5 T9 F' H' Q) r: q9 Y
  104.       "zone" => "",//请求地区& P: p/ c2 p; S0 x5 J4 t7 }3 ~
  105. );
    ; Z  S6 ~- `0 Z" Q1 N% D
  106. $paramstring = http_build_query($params);9 z5 Y5 z8 \0 R3 K" C
  107. $content = juhecurl($url,$paramstring,1);
    ) \: x( [% m  N7 h0 s* Y  W( D
  108. $result = json_decode($content,true);
    4 Y  C( \; r4 a: A5 m. |. S' k
  109. if($result){5 ]5 v) H4 @2 t+ N/ ~
  110.     if($result['error_code']=='0'){% j2 ]  ^; W# A! i" l6 a
  111.         print_r($result);& d' R2 w8 |$ Y! B( E% p- r% f
  112.     }else{
    5 j' E  [' f4 x7 c: O
  113.         echo $result['error_code'].":".$result['reason'];  K5 ~; u6 _7 ?
  114.     }- n' ~7 z0 d& |% m+ D$ T. K8 P% v
  115. }else{7 _6 t8 ]' U: [1 Y
  116.     echo "请求失败";5 H: i# S4 t3 q
  117. }' c6 |. p- h8 Y& d# O% u
  118. //**************************************************' c" t/ q$ G" ]$ i0 W  E5 ~
  119. ! ^% T5 V2 x8 H4 Y! d8 \9 \( Q

  120. * D# [+ _6 }8 V* n' M2 m4 j; S

  121. 6 s9 Z0 w: E! R' s& d* B
  122. # W; e* ]2 d$ _3 t8 h" d3 ]% G" }
  123. $ B. Y4 f1 i' f( F) G, c
  124. /**! V% I7 w% \) v% O# t
  125. * 请求接口返回内容
    % M& p) @1 y3 N0 m- U  `
  126. * @param  string $url [请求的URL地址]& |* X: e9 P. o( {, l& ~6 Z; }
  127. * @param  string $params [请求的参数]
    ( G8 N! O6 p2 J
  128. * @param  int $ipost [是否采用POST形式]/ ^! V! z  O! a1 g
  129. * @return  string2 U9 T! R5 ~* m# \- v
  130. */1 K  V( E# ~/ L: N
  131. function juhecurl($url,$params=false,$ispost=0){
    7 S2 S) H! d2 r( b
  132.     $httpInfo = array();% S  A2 z: ?1 u+ k- `
  133.     $ch = curl_init();( |6 j, s+ j0 c3 [! j

  134. , T( @; D7 C9 q$ p, K2 c1 N
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    5 |0 i  M! [- H. {" P- v
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );" |/ i. W. b; O
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );, r4 ~6 i! i) q  }' u
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);2 a5 f% s3 l& V- J- M
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    ) S/ `: }2 R/ }! U$ h
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    , {6 ]1 p) t) @/ n4 [  K: b6 \
  141.     if( $ispost )7 m' I: \- c: t( Y
  142.     {) J7 R8 {& C2 k
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    : }: f; Y6 x/ @, J6 \5 R1 K
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    ( R1 h8 N9 I. f% U( E) g9 \
  145.         curl_setopt( $ch , CURLOPT_URL , $url );" C9 f- z2 Y% Y3 v
  146.     }
    7 O& K0 g4 c# r3 ~* X
  147.     else5 w; b% O2 |$ G; }  C) V, V
  148.     {
    " U' x1 Y) f; ]( W5 B7 T# h
  149.         if($params){8 M" H8 _, R1 I2 `; t; D& l3 u# z
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    2 J; s% t) @' W8 E: F9 a6 [
  151.         }else{2 M5 b' X) h: J$ @+ E* i" c1 R
  152.             curl_setopt( $ch , CURLOPT_URL , $url);: b, o7 Q! v  I4 [" y) M
  153.         }% p! t6 f0 G& l8 F6 v2 w
  154.     }; T, K: \0 _. n2 y8 L3 L# S1 J3 g
  155.     $response = curl_exec( $ch );
      a% T. o/ {* a8 H- o1 j
  156.     if ($response === FALSE) {
    9 t6 }# i8 i- Q; H- n+ |" o
  157.         //echo "cURL Error: " . curl_error($ch);- @6 T+ Y: q& U" y3 J! X4 W( ^
  158.         return false;. u* l6 @& v7 A% A1 a
  159.     }5 h2 T2 [% k( h6 h$ e
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    & k: ^8 w) o4 D- n4 O! F# V6 l
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );; N+ B8 G# E: @
  162.     curl_close( $ch );2 W2 A) y) a3 ]! h  h, m% f
  163.     return $response;- Q2 n8 R) Z  U* K4 M" ^
  164. }
复制代码
6 s$ s/ k- B+ |, W

  s' ^( K) j; d1 Z) ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-7-19 15:48 , Processed in 0.058486 second(s), 19 queries .

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