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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。7 o: O6 R. y  I: ]* O! O
1.添加商品信息+ b4 s; P4 ?% i, S  Z# k3 F! N. f
2.添加图片
  E: `( H3 V0 v) V  z6 T0 g* z- E0 q! {3.查询所有产品; y) {0 M3 v# I: U1 ~4 _
4.查询某个具体产品信息
/ j3 c  s) g$ O+ D' J5.删除某个产品3 G; _) h% U0 t
6.删除图片
, ?5 |, }3 O: u9 L/ H- j7.图像识别
" n; Z- b4 t) A& \
1 U# ~0 D6 d9 i' M0 J: @- f4 y图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey
: z" J, J) d" w, D7 X6 N1 Q' q# A* u+ ~; J# u) z
PHP示例:
: T1 _/ s  ^, A( S2 }
  1. <!--?php
    9 _, b* c0 y5 \4 V. Z! a5 _2 E
  2. // +----------------------------------------------------------------------
    , s, j! ?  Y, d8 v0 }' ~
  3. // | JuhePHP [ NO ZUO NO DIE ]$ \1 s5 B6 b3 E+ B
  4. // +----------------------------------------------------------------------
    7 U. M4 W3 q' r- D
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    % ^$ p% I, l, e, a: P# f0 D% `
  6. // +----------------------------------------------------------------------# a* D1 q& z8 o$ E
  7. // | Author: Juhedata <info@juhe.cn-->! W+ C! I% M4 }: f  A- X' a3 w
  8. // +----------------------------------------------------------------------
    & `. C3 s5 w$ F9 z

  9. # U1 b% v; T' E) U' K6 j/ C
  10. //----------------------------------' W: O- C6 D/ C! L
  11. // 图像识别调用示例代码 - 聚合数据8 q% I1 s% k  i9 z
  12. // 在线接口文档:http://www.juhe.cn/docs/117! u/ z% O$ U4 T$ h" Q
  13. //----------------------------------8 u3 J- l2 K' _6 M6 @9 b) p6 {
  14. 7 Z. f; R4 t, e/ }8 S6 [  P6 M
  15. header('Content-type:text/html;charset=utf-8');' t1 ~/ `  h, }/ Q6 J/ y

  16. ! \/ P8 |0 _* Q: Q) s

  17. ' W5 a$ \3 d* K/ z
  18. //配置您申请的appkey
    * Z/ [2 T. q( H$ T
  19. $appkey = "*********************";0 R" Z  A8 \# B( b
  20. 4 J. D7 J7 c# Z7 f4 t* P
  21. # [: E0 U0 o1 g
  22. $ }3 n0 ?2 }3 l: J! \3 {& {+ n, c

  23. ! f' W& V6 |! w1 Q
  24. //************1.图像上传************
    ' U- n5 R) |" S; F
  25. $url = "http://japi.juhe.cn/image_recognition/upload";4 O0 H' G& s/ L1 T
  26. $params = array(9 b+ @( p6 T" Q: X/ C0 F4 ]+ R
  27.       "file" => "",//上传的单张图片
    . f% d: |* p$ A1 K5 K. l4 m3 A
  28.       "key" => $appkey,//APP Key8 t" v$ g. V6 i" {3 \
  29.       "pname" => "",//包名9 Z  q4 C/ q9 S; u
  30. );5 `2 E, }/ n  j/ r
  31. $paramstring = http_build_query($params);
    ; Q5 F" C; z" F4 R+ |' P
  32. $content = juhecurl($url,$paramstring,1);
    ! t" [4 ~! S/ {, ~1 @: i% j+ ^; L
  33. $result = json_decode($content,true);
    + t; S) O$ N0 p) `' J
  34. if($result){
    # a: v7 {" g. T4 |) a
  35.     if($result['error_code']=='0'){+ ^) |7 E- L. B
  36.         print_r($result);$ [9 q3 C, k' S, @
  37.     }else{9 X0 F8 j& l1 ]* p; \0 h
  38.         echo $result['error_code'].":".$result['reason'];/ E4 u; `2 k9 r& z0 N
  39.     }
    6 J4 w/ j9 i, i
  40. }else{
    ; h& F. A3 l1 n+ }, Z
  41.     echo "请求失败";" o  O' r7 C( Z3 u
  42. }
    + v1 w& l. ]/ c  U
  43. //**************************************************
    1 ~, Q4 ^7 C* o. Q- o0 d. }" w/ p) w
  44. 1 T$ `4 J1 U1 S% @' S5 p

  45. ' `$ t: }6 Z5 z, p# ]1 X, f3 Y

  46. 9 D+ P9 b9 _# |/ p
  47. ! A) ^2 W+ {: h- x' e
  48. //************2.查寻上传图像信息************  c( U/ l! H" \0 _- |9 \+ o
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";( z- A: N: X/ N9 Z! m8 K
  50. $params = array(
    ! C0 s6 H7 w9 b. F. u% @
  51.       "key" => $appkey,//APP Key
    # p" w- ]) Y- J7 [
  52. );8 n5 N+ k5 O# Z$ _/ b6 U
  53. $paramstring = http_build_query($params);' b7 g+ z) O. f6 n) C. i1 l
  54. $content = juhecurl($url,$paramstring);
    3 K) y, h* E7 a9 i1 t. }
  55. $result = json_decode($content,true);7 Q* o4 o  q% W3 V5 b0 N- l" q% h
  56. if($result){
    . H' Q' D' v& g8 Z/ M0 N
  57.     if($result['error_code']=='0'){4 W* [1 O2 {& i- Y& m
  58.         print_r($result);) r) f+ p3 _! Y) f
  59.     }else{7 }% r4 I: z& ^& W1 U& L" R
  60.         echo $result['error_code'].":".$result['reason'];
    ; V6 h1 I( b! f& P9 V6 D/ k
  61.     }
    ; V0 g4 s9 Y6 A3 y
  62. }else{: r% Y3 G; w4 r* K
  63.     echo "请求失败";
    ) N; f' I- g: R+ U/ X
  64. }
    9 r$ `2 L( L8 j/ J) f$ n
  65. //**************************************************, I) z1 X8 X1 B9 w2 D9 i9 N- h

  66. 7 i1 [9 I0 |6 Z5 M6 i& w* z

  67. 5 ]8 l( ~5 p- O" Q) F( p  Q* R
  68. 8 P9 \8 |$ j' E- P
  69. ! n# I& A. d/ `+ T
  70. //************3.删除图像信息************
    # B( m. B& @/ J7 p: K, w
  71. $url = "http://japi.juhe.cn/image_recognition/delete";! B5 {$ D# m$ H+ C/ a
  72. $params = array(
    8 z% m2 P* j# g/ h$ |9 O
  73.       "key" => $appkey,//APP Key" M+ q) D) u5 u$ y4 w7 l+ j7 C
  74.       "imageId" => "",//图片ID; u8 G" q0 l9 x
  75. );
    # p7 `8 y; L2 ?& m( U& Z
  76. $paramstring = http_build_query($params);+ L, D' u9 ^' \" b
  77. $content = juhecurl($url,$paramstring);7 l( _: Z! s1 D# f7 E  q
  78. $result = json_decode($content,true);
    . ]9 @2 G& C  W! I8 o
  79. if($result){! }4 @4 @- n0 s$ @7 ^8 l* w
  80.     if($result['error_code']=='0'){# l: J0 K$ N- T" n. |
  81.         print_r($result);
    ( r1 i! j4 @1 M& M2 L4 l$ ~, F
  82.     }else{" G' `0 r" P6 t) }- O* O( ~8 H8 R
  83.         echo $result['error_code'].":".$result['reason'];2 v% J8 @2 R" P: X& D; L# e
  84.     }% J1 |6 D! {" U4 t
  85. }else{1 x" t( f4 c4 r
  86.     echo "请求失败";6 R/ {# S9 Y$ s/ _7 O& V# d4 Y5 z; W
  87. }! Z7 e" H; ~3 U/ p$ e/ Q
  88. //**************************************************/ @" S/ Z! [4 e4 D5 S9 d0 D. P4 C
  89. $ w3 o9 P- _0 ]! G2 c5 w$ E+ a

  90. - X5 H# u2 [- V6 V9 x) N' i
  91. 6 ?/ Q2 D6 D4 N/ X+ K

  92. $ v* c5 ~5 d  c  ~5 d# ~7 c3 ^3 _$ }* W
  93. //************4.图像识别************
    2 ~! d. k+ t2 W  s. e) e! F* i
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    : `3 I& y6 R3 `/ V/ Q# V; \
  95. $params = array(
    . ^+ Q' x7 {1 j3 y- C6 u: M
  96.       "file" => "",//上传的图片; Q( w8 y  z# X3 ]7 y" P0 h  R' K2 Z
  97.       "key" => $appkey,//APP Key: |- f9 t1 k6 A5 w
  98.       "pname" => "",//包名
    7 F4 x% Z' A" Y$ c3 F, E! |5 k
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    " D8 v0 x. B" J* e, Z
  100.       "device_version" => "",//设备版本(如:4.0.3)
    2 \* v% L0 C1 n1 [, |
  101.       "latitude" => "",//纬度
    + p& K: B0 F+ v& o4 E
  102.       "longitude" => "",//经度- }! E+ J  s) d  f. p. J
  103.       "uuid" => "",//设备id% j7 G* u! l. s3 \
  104.       "zone" => "",//请求地区# R' w  ~2 W7 C9 u5 O6 f) `! t
  105. );
    $ W0 c) L6 L4 Z: _% `* f5 f+ Y
  106. $paramstring = http_build_query($params);
    5 ^3 d) n& C) @- H1 \4 k+ n* C
  107. $content = juhecurl($url,$paramstring,1);$ {' D7 `( J& U2 x
  108. $result = json_decode($content,true);
    ) {1 K7 x2 j  k! T# B1 a9 _
  109. if($result){' }8 r* A- K( y( P; }7 `7 c9 l6 e
  110.     if($result['error_code']=='0'){- @$ ^; h* e# c( u
  111.         print_r($result);- @8 {+ V6 v% Y1 k/ k
  112.     }else{
    5 B* n1 \" _* Y4 y0 @  ~
  113.         echo $result['error_code'].":".$result['reason'];: R0 G! n" s4 g1 }- Y
  114.     }! j* {0 o9 _9 c) Q- y! {" Q) g0 i/ ?9 o
  115. }else{8 X- l: x% b. c. i2 {" T
  116.     echo "请求失败";2 S( ]( Z8 o: }2 V5 W
  117. }; g, Z/ y* a. k) q' }- k
  118. //**************************************************$ E+ p3 O7 I- A
  119. ) f1 I& i. K7 S- Z& z- L7 E! i" Z
  120. 9 j5 B# m4 ^$ w  Q6 u; |1 k  J( g6 v' Q

  121. + O, _8 Y! ?+ |! Y

  122. 2 H5 u* {/ O0 Q0 V$ e. k# \
  123. ( K  M8 v* W5 Y! l* F$ x) Y6 J
  124. /**7 b* I* ~$ f0 G0 X7 l! x
  125. * 请求接口返回内容$ L8 d; M" P2 u& Y6 B
  126. * @param  string $url [请求的URL地址]; @: }- V% U$ e6 N# Q
  127. * @param  string $params [请求的参数]+ p  c+ r8 x5 D6 E/ j0 k! ?
  128. * @param  int $ipost [是否采用POST形式]8 N: |' @: i# n+ X4 B/ S' I
  129. * @return  string: w  t$ H- D1 e8 k' b& ^7 q9 [
  130. */( r% ]; `1 I2 A7 ^9 x
  131. function juhecurl($url,$params=false,$ispost=0){, o; Q) Q* C5 B$ {
  132.     $httpInfo = array();$ j9 X8 s8 v* I8 D- }, y; K9 d$ b8 Y
  133.     $ch = curl_init();
      Y& E, p3 w. A& p: u* p+ I; \

  134. $ U9 O. \! X3 w5 F& E; Z
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    ( G" i& z. g9 x& G+ z7 _
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );+ o0 B  l* a. R
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    $ U6 q. X' d7 v$ [+ s+ l8 u! X
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);: b: v  ^/ ^9 ]) a, S/ i* x) l
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    * R3 z/ |- U- V# ~& F$ N
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);5 q$ j3 X7 q  D( H
  141.     if( $ispost )3 M& m, J8 [3 e- G) O9 [2 j$ Y. V
  142.     {: P! a7 i. Z( ?' I* f  D' F
  143.         curl_setopt( $ch , CURLOPT_POST , true );+ w% r$ Z1 P' T6 x5 E
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );* I4 G# s! g7 Q" o: A! V  F
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
    " W" |0 T4 e" N" H7 s
  146.     }
    / l+ t. x' f7 X, G. e
  147.     else
    4 a3 ~4 S( y! R7 C/ B7 n
  148.     {
    ; g9 \( Q) x. L) H- a
  149.         if($params){  t' n$ _8 O" V: L
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    ' ~/ Y5 J0 S. l2 s: M, Z
  151.         }else{1 o/ s  m3 i, y6 E+ O
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
    . J& |6 ?9 e6 b( }. U: V
  153.         }9 ^! j4 B- b. y5 ^, P6 K
  154.     }, ^+ q3 Y3 `, ^4 q
  155.     $response = curl_exec( $ch );
    : A) m% J* c$ p/ p8 j
  156.     if ($response === FALSE) {" t* L. {! G1 _& c" p5 p
  157.         //echo "cURL Error: " . curl_error($ch);/ W& f7 B& e, K( n
  158.         return false;0 X& D/ b: q. q  m2 z* H9 W# y
  159.     }2 D# f/ F. N. ?9 B& i8 c2 Z
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    & ~" z( s6 K' S) L' ]0 M
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    ; q% t4 Z; x+ q3 L/ w
  162.     curl_close( $ch );
    2 T$ w9 f3 U. L/ `/ I
  163.     return $response;& h% T; e1 {5 M4 g
  164. }
复制代码

, H* @' p+ P3 j% F; b/ ?8 k/ {9 s; V* \9 X8 N# I7 L8 K
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 12:21 , Processed in 0.055984 second(s), 19 queries .

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