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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
9 @) D; _' K0 `, J+ _& d& e1.添加商品信息, _. w! Z; y2 V
2.添加图片
3 Y+ ~4 F% c+ ]; U  p+ f4 T  g! Y$ u- }3.查询所有产品
) }2 g, T/ B/ J& P4.查询某个具体产品信息
! m8 ?& i' r- H$ ]; h1 I5.删除某个产品
% n% X% O( r, T( `" Q( B6.删除图片$ Z; D6 `' j! n. O. ?4 P# F, o
7.图像识别
2 K& Z6 ]9 ^# }# ?( L+ N: S
" ~1 f( S% k1 F' E  o6 Y% r4 z/ I图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey8 l. ~0 B7 I2 o! b+ {  g: y/ y2 z7 J
# D: S- u$ O# ^+ r
PHP示例:
0 A6 D, ^( {3 K; U2 Q4 m5 Q/ g
  1. <!--?php
    # X1 K2 J' b' F& t
  2. // +----------------------------------------------------------------------% T* o: h- B+ [* ~& `- F- G- B
  3. // | JuhePHP [ NO ZUO NO DIE ]
    " k4 H8 j" J1 @1 t+ d, s
  4. // +----------------------------------------------------------------------
    ) c0 q, R7 Z( v! `
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.% b  ]$ i6 {( e
  6. // +----------------------------------------------------------------------
    ! e  w( N4 F: m7 i( x
  7. // | Author: Juhedata <info@juhe.cn-->
    0 d2 v; m* A. Y* [5 J
  8. // +----------------------------------------------------------------------; U) S" X; l1 g$ H& l1 b

  9. 3 B4 r9 D$ K# B0 o5 o. @
  10. //----------------------------------. c0 A. H2 V% B8 }
  11. // 图像识别调用示例代码 - 聚合数据# @1 T1 }8 m- t# ^. J0 h; y
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    7 w8 P& p1 c# d" t% w  ]1 R: O
  13. //----------------------------------  d! {: k# _( Q3 r/ R' W

  14. - R: ?8 q! y4 X, d; t# @4 Z
  15. header('Content-type:text/html;charset=utf-8');& Y/ [" l8 U* o/ ?. t0 b
  16. 3 q0 g8 O. x) a  H
  17. $ ^8 [7 S- Z: _$ D$ P: {7 p. \3 ^0 J
  18. //配置您申请的appkey
    ! P* r6 }: [2 o' E4 C6 o  k
  19. $appkey = "*********************";
    1 M& A; p* h' z( U$ M, I
  20. 4 ]6 f8 X5 t6 O7 y$ k! m
  21. ' p7 B% S2 }- e: ?: x8 e' m
  22. 0 ~3 r! L/ u  Q3 H  R% L6 m0 l. j  N( j$ z
  23. $ a( K4 a% h% w+ m
  24. //************1.图像上传************% s  m. B1 x0 {; q0 o+ t
  25. $url = "http://japi.juhe.cn/image_recognition/upload";! C; e; w4 Y0 z# e: R7 P; n
  26. $params = array(
    & Q( A& z% g& O- o  Q/ V1 j! T- m
  27.       "file" => "",//上传的单张图片# s& W- A3 m& }  C. X" z
  28.       "key" => $appkey,//APP Key! `; [& i2 x: M( `5 [% h2 Z6 ]
  29.       "pname" => "",//包名6 E0 N6 m2 u7 ]1 o1 M$ T& i
  30. );
    , X! Q; Y  U. r7 b& B& `
  31. $paramstring = http_build_query($params);
    + X2 L, Q& P1 {7 d
  32. $content = juhecurl($url,$paramstring,1);+ c- `' l. w' X  a4 p
  33. $result = json_decode($content,true);
    ' H( _7 `, f8 {
  34. if($result){
    * \& \3 s. V5 T2 S' n$ b. r2 U
  35.     if($result['error_code']=='0'){
      C8 g! h6 `: n; {* E5 h) H
  36.         print_r($result);6 d, A% U  A8 \3 |# Q! _
  37.     }else{
    ; C; D5 ?  _1 @# f. M
  38.         echo $result['error_code'].":".$result['reason'];
    * r) ]% p  Z- F
  39.     }
    - N, B5 i2 m; P3 x4 G
  40. }else{
    4 b+ G+ \# ]) p6 Q; h
  41.     echo "请求失败";, n, K9 T* q; E: K' B
  42. }
    1 t! a' g7 R7 T  m
  43. //**************************************************
    - i# E9 O/ t$ K1 L/ j

  44. + w" g- m1 ^$ c# z' r. P

  45. , [" H  K  k+ L4 D  L: o
  46. & a1 t9 f( d8 K+ \
  47. ) v7 s) J+ H. Z* L
  48. //************2.查寻上传图像信息************  ^' i. K) @6 p* L+ ]6 C) G5 y2 o
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";3 d3 Y6 j0 [' x4 J4 e1 u" d6 z: J
  50. $params = array(, E. h6 _: l1 e" g9 @  v' b
  51.       "key" => $appkey,//APP Key( a" A4 B1 e! ^7 x
  52. );
    ( {  ?8 H4 [" n; N: U9 A
  53. $paramstring = http_build_query($params);4 J. e% J) G- B
  54. $content = juhecurl($url,$paramstring);
    ) L5 T) L) E9 a% H& E. `( s+ K
  55. $result = json_decode($content,true);
    7 Q( z4 ?# ~; a+ t8 L1 J) w/ i
  56. if($result){
    % v* X5 P; p6 K' K
  57.     if($result['error_code']=='0'){1 Q! _' i. z5 e& I+ I+ S  q
  58.         print_r($result);6 d; k1 p& Y+ X2 `
  59.     }else{
    / g) _* }1 o: ~# H$ h5 M8 [
  60.         echo $result['error_code'].":".$result['reason'];
    + k0 {. F- k; A# |/ w
  61.     }
    - F" }: A( l5 t$ w# T9 u
  62. }else{" l+ Z. |' z6 l" i
  63.     echo "请求失败";
    & U# {4 C: H) l; b
  64. }
    9 P% o( D4 t. B# |/ I. t) {
  65. //**************************************************
    % j: K* F  `" k1 [& U% {
  66. 4 |8 u. {- O, _! R* R& z0 k% @8 @

  67. ; R& h" b1 O& M8 M: S7 D2 X  V# ]
  68. , V8 K# Z& T! Q. ]5 x7 P+ n
  69. 4 p4 e- A  n1 G
  70. //************3.删除图像信息************0 ^" f5 K- G5 ~$ s  S
  71. $url = "http://japi.juhe.cn/image_recognition/delete";
    6 j( A& N6 ~* i" z& _
  72. $params = array(
    2 w, g0 a+ g6 N1 J. w, O( k
  73.       "key" => $appkey,//APP Key
    5 k3 e/ z: ?. }  P+ g& J6 q3 D" k
  74.       "imageId" => "",//图片ID
    ) d2 Z4 M& x+ T; K  z0 V
  75. );* |" ~4 [  a0 }
  76. $paramstring = http_build_query($params);. \: u# C2 `4 i
  77. $content = juhecurl($url,$paramstring);/ c/ i% Y( ]( d
  78. $result = json_decode($content,true);
    ; W8 b# e" Q8 L. k; `
  79. if($result){8 ?) a- d+ w2 Y- ]* ]! w' j- I. b: H; i
  80.     if($result['error_code']=='0'){
    2 k6 `2 h; k& B5 j0 a9 u0 K
  81.         print_r($result);
    * S  _- q' Z, F$ w- h
  82.     }else{* l; h9 Y3 k( ?) y0 U6 _; O
  83.         echo $result['error_code'].":".$result['reason'];
    1 ^( @  l& h* I
  84.     }
    ! }) G; D5 V& t1 f
  85. }else{
    2 j% u' F, u- u9 K3 c
  86.     echo "请求失败";4 [( }9 b* d. X! ]: u9 r
  87. }7 [5 u! \: t% P: N( i+ O0 Q- y
  88. //**************************************************, @6 I) K2 c2 G/ p6 J' C

  89. 6 u. |# y. c8 E2 p

  90. 8 M' [+ [! _3 m2 L
  91. 4 f4 _: u! h# u/ y
  92. 9 ~& i2 F9 _, t; o2 \) I
  93. //************4.图像识别************
    7 ?, ?3 S7 J; I" I0 g
  94. $url = "http://japi.juhe.cn/image_recognition/check";0 N1 e9 p& N  d9 y. N
  95. $params = array() F+ l' b% Z& y# `
  96.       "file" => "",//上传的图片
    ; q1 [$ n8 l7 l3 J
  97.       "key" => $appkey,//APP Key
    # }6 Q0 o5 ~: r; Y6 m  X
  98.       "pname" => "",//包名2 I& K7 [; G  m. E9 U6 S7 x
  99.       "device_name" => "",//设备名称(如android OS或iphone OS). ~0 T4 b# E* P# |2 h- J
  100.       "device_version" => "",//设备版本(如:4.0.3)% W" z0 j6 U0 t3 O! ^5 c
  101.       "latitude" => "",//纬度+ q! b. }& v  [$ X& q! j! {
  102.       "longitude" => "",//经度
    ' W+ |/ Y5 q4 f3 M9 t0 Q
  103.       "uuid" => "",//设备id4 Z4 h) y! X2 `
  104.       "zone" => "",//请求地区
    3 i! i) g- ]* E- D' G
  105. );
    9 Q$ ~' I( M( E/ y* f5 w
  106. $paramstring = http_build_query($params);
    $ C* k8 Y3 V) M( \( B* J
  107. $content = juhecurl($url,$paramstring,1);
    1 d1 Y7 [$ K) W; U
  108. $result = json_decode($content,true);
    6 X8 P; v1 n9 ^
  109. if($result){" _* ^1 w1 S. @! x. p3 q, z, w! f
  110.     if($result['error_code']=='0'){
    1 u( C, t% r) H: r3 g( k! w
  111.         print_r($result);; J. D( @1 E9 H. H& S1 L
  112.     }else{
    $ Z* _3 F- }: D+ w
  113.         echo $result['error_code'].":".$result['reason'];
    / F1 V, A& ~3 x; I8 Z
  114.     }
    - G1 @8 D0 @7 Z" X& l
  115. }else{" _' K, n( z5 \& y! j
  116.     echo "请求失败";
    7 f% s) F$ P# r! ?0 _* r
  117. }( }7 ?# V0 U  Z' x4 v* J7 x7 Z
  118. //**************************************************; J( R9 V3 m# A7 N. v+ `$ Q6 e

  119. : n- L* K0 z5 B, s

  120. $ r) W2 w/ i* s+ U! _0 j

  121. ; ]/ o$ c' W2 n6 M

  122. , A; d1 A  m! o
  123. 6 C- J% v: o, j  _
  124. /**
    7 {$ K( ?; `2 l8 k4 {# Q
  125. * 请求接口返回内容
    7 H: W1 l* x0 m. d! o! s
  126. * @param  string $url [请求的URL地址]
    # `4 [7 \4 ]* g5 W8 J9 |2 V
  127. * @param  string $params [请求的参数]
    ; p; |' d) R# z/ F
  128. * @param  int $ipost [是否采用POST形式]
    # R% l2 V5 _% Y
  129. * @return  string3 |$ c2 u/ p7 e9 O
  130. */0 d& I& D- ~8 O: H: H( [5 i8 Z" N, ^
  131. function juhecurl($url,$params=false,$ispost=0){" q- v$ b: O& r" D
  132.     $httpInfo = array();1 X' {2 x. ]7 r3 x) F; s# G# L3 u
  133.     $ch = curl_init();
    * V& n+ k+ t- V0 c, S: r  }/ f( h
  134. 8 X# s# @! R7 N0 m2 U7 S3 B- U
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );6 H. o4 ?) J: L' H$ e3 X
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );: |6 u7 R; c& Z1 n, _! D  M
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );- Y% o0 o& [5 D( y9 B9 Y0 A
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    - @9 b, c$ t6 `. D* C7 O
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );, x4 k+ n' E* c, |6 o. }1 N" d
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);+ k4 g9 w2 T6 F' l
  141.     if( $ispost )- f* a& B0 w2 ^; A( Q1 W
  142.     {
    ' y5 }- g. {& X- j; D. h' }
  143.         curl_setopt( $ch , CURLOPT_POST , true );+ C5 m& d3 @/ W* c$ U# z
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );( L! L6 \  u$ g- M7 ?$ F- ?* H
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
    ) u8 E3 [) r2 @- A3 d& q
  146.     }
    $ F! b& u: o' v& z7 U) p, K' N! U
  147.     else
    : C1 q- |4 J  @* z" g4 f
  148.     {
    . V4 K7 y) a- R
  149.         if($params){
    ) D- `2 O& p' S3 ?( V5 y# P
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
      u+ G7 o- x2 B7 N
  151.         }else{
    % Y- r) G; d: r5 i6 R  n: k, o
  152.             curl_setopt( $ch , CURLOPT_URL , $url);( H. J4 t7 u7 W! e) j/ b* J" C6 r
  153.         }
    6 {  T2 d8 E1 V8 a, J
  154.     }
    5 x: C7 M& S5 o8 M& {1 ^
  155.     $response = curl_exec( $ch );
    0 w! U; a1 X+ Y+ G
  156.     if ($response === FALSE) {$ X% N6 W6 c3 J  ~9 ], R+ X2 f
  157.         //echo "cURL Error: " . curl_error($ch);7 U7 e, Y+ o+ Y8 s7 e9 J3 d
  158.         return false;
    1 z; Y; N* Y7 Y
  159.     }" f- P- V- \$ v# p9 `  m
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    5 T6 q$ U  t, D$ W
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );& Z, x$ B$ N9 o. \6 G
  162.     curl_close( $ch );
    , E8 I* A7 Q( x$ p. ^: `: M6 ^$ j
  163.     return $response;
    5 E3 f# g# q/ |+ o. F/ A
  164. }
复制代码
( a6 `4 o, M7 ~' |4 q: s; I

  ]: m% f9 O6 o
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-5-1 00:29 , Processed in 0.064808 second(s), 21 queries .

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