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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
$ a/ X' C) _1 R- H  E: U2 [1.添加商品信息7 i# f2 ^$ H& `' Y7 X
2.添加图片
- Z1 x- n' R# T3.查询所有产品* O  C' H& Q$ M* A7 {. `
4.查询某个具体产品信息* O7 b* b! Y3 P9 R' j# Q; \
5.删除某个产品
' \' T+ i. R7 ?& n& a7 H6.删除图片
- i  S" D  c# ^4 ^' A7.图像识别; A( M9 \4 e3 H  S/ w# ?/ N

+ m( ^- v- i) z5 n图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey; n2 A2 |( j: e& W. Y
. _! L6 Z+ g/ ?8 o& O0 z6 i! A
PHP示例:2 `0 E& M. s* c0 n! J$ m8 ~+ Z/ p
  1. <!--?php
    * Q' C6 i0 I2 C! L7 N
  2. // +----------------------------------------------------------------------
    , B' b4 n' d- G3 `$ }1 u
  3. // | JuhePHP [ NO ZUO NO DIE ]
    / Z% }$ j- S" M/ }& D2 i
  4. // +----------------------------------------------------------------------
    & r/ _/ p. N$ w, g! L+ D% x
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    ' e% B% i5 }3 L1 S0 @: c
  6. // +----------------------------------------------------------------------8 ]3 U$ R8 A/ u
  7. // | Author: Juhedata <info@juhe.cn-->. `, O8 h# X( g4 h6 X7 n
  8. // +----------------------------------------------------------------------
    9 I1 d1 J" B8 ?: G2 u) O
  9. * L1 \0 j  q/ s
  10. //----------------------------------
    % V* W# m1 Y1 d% Y9 M8 b
  11. // 图像识别调用示例代码 - 聚合数据
    + X" U% z: W% r1 q7 x
  12. // 在线接口文档:http://www.juhe.cn/docs/1174 Y3 S9 p  J9 [4 Y7 Q  n
  13. //----------------------------------
    % X+ `8 T5 G0 P! ]& {" n
  14. * [* O9 J% }7 d& ~# {% {- R
  15. header('Content-type:text/html;charset=utf-8');% Z: R! i! g9 n  r$ `( [
  16. 7 E+ m  X& A0 g

  17. + i1 H  ]' Y3 `( [
  18. //配置您申请的appkey
    ! k4 R) }5 t; I/ `% ?( B+ K
  19. $appkey = "*********************";
    & Y) T( D% U& e5 h' n  t. }
  20. 1 x4 X5 Y8 U4 m  A$ L% `

  21. $ k1 `5 ~" J, x& |0 V

  22. & `% c; q2 S: ^' c8 G: a) I, U
  23. . |0 L9 x; Q( k( L5 P& w1 f* E& i- `) W
  24. //************1.图像上传************
    ! W" h; U1 c! K
  25. $url = "http://japi.juhe.cn/image_recognition/upload";) f1 ^& s' S; |- W
  26. $params = array(
    ; C* A; n6 p8 ~1 q) w  D7 a; g
  27.       "file" => "",//上传的单张图片
    / N4 T  Y1 ~6 G8 f9 b' [$ k
  28.       "key" => $appkey,//APP Key
    1 `, |* T$ L9 f" a, M3 \$ P
  29.       "pname" => "",//包名& [2 y( M( u/ R  M9 y( P; L/ s  V3 n& V
  30. );: V: @) [1 P% R  L! v. Z' x
  31. $paramstring = http_build_query($params);3 r* t9 I& ?4 v2 y
  32. $content = juhecurl($url,$paramstring,1);
    # C5 Q0 M% i& ?& m
  33. $result = json_decode($content,true);
    " f" ~/ ]) g. w# p- g5 O! l* N
  34. if($result){
    $ d4 D& ~! G6 X- C* \
  35.     if($result['error_code']=='0'){! F9 j4 D* z4 m. p" C: D
  36.         print_r($result);
    " w4 f- o, S) b0 U
  37.     }else{( ?% X6 y8 M' F/ b$ i7 D& f
  38.         echo $result['error_code'].":".$result['reason'];4 [" q. U+ r$ G/ c( V
  39.     }
    " u- a, _2 Z+ A0 g$ e7 C5 ~6 H
  40. }else{
    + \- e# |; }- y4 e
  41.     echo "请求失败";. `" I2 e& y) P" L
  42. }( J$ C/ B! G# C$ T% t5 i7 L- _  _
  43. //**************************************************7 E6 R/ n2 [$ d1 P7 U. I& W
  44. . U( d, g# E  p9 h" j: E
  45. 2 w0 Y3 X& c+ i

  46. # N' b6 ?- t" P" m# E

  47. 8 l- R: a+ Z* H- q9 U
  48. //************2.查寻上传图像信息************$ n9 F' \' K  q) M" Y3 D( s6 ~
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    + B5 f  Y4 \8 a; B  m' v
  50. $params = array(  a' }) _  I, `% T
  51.       "key" => $appkey,//APP Key
    ! O& a/ k' N$ Z
  52. );
    0 ~3 e. p7 y2 F2 i0 n3 I, u
  53. $paramstring = http_build_query($params);: Y/ @: w2 ?+ ?3 U. a
  54. $content = juhecurl($url,$paramstring);
    . Z9 P% S8 i2 W! C6 c' P
  55. $result = json_decode($content,true);$ H1 I  P, Z! d5 y" _' W9 B
  56. if($result){0 F1 r1 K" k0 Q& r9 w
  57.     if($result['error_code']=='0'){  T. S( d- \" d5 C( t" n2 i
  58.         print_r($result);2 c: r( O/ g) K; _: f1 q" g  a
  59.     }else{% K1 Y9 [0 h' `; |- L. y& z
  60.         echo $result['error_code'].":".$result['reason'];
    % D, c' T( _3 Q% }
  61.     }
    ; k' E# h& D4 a9 T* j# o
  62. }else{
    . c! P) \* ^0 H4 M$ x
  63.     echo "请求失败";" {2 t7 Z6 v3 z- l
  64. }0 S6 m8 Y' `$ w% ?: t* ?
  65. //**************************************************" U9 u, j7 e3 z- r/ Z$ e' O' P

  66. * |: B8 \& C0 {0 K' O8 k
  67. : @: G; w4 F- f, i8 y0 b4 w3 {
  68. & J7 V+ n! [  A: e$ I
  69. 8 \# S/ e1 e; Z+ |
  70. //************3.删除图像信息************+ D$ L4 |# F0 C( U4 A: J2 ?
  71. $url = "http://japi.juhe.cn/image_recognition/delete";
    , P+ a( o2 E2 D- h2 r4 p- Q
  72. $params = array(
    ( l4 |0 M) @8 g% I
  73.       "key" => $appkey,//APP Key
    * H) k# N" ~5 Z4 E* Y7 O6 C
  74.       "imageId" => "",//图片ID
    " b. W% K; g, D9 ]4 A
  75. );
    + o. n; v# u1 J& c. }
  76. $paramstring = http_build_query($params);
    8 `: Q% ^' \. V) E
  77. $content = juhecurl($url,$paramstring);! Z  d5 M" w5 A
  78. $result = json_decode($content,true);
    4 p! `! b2 Q6 B$ W& ?% T5 p
  79. if($result){
    % g# l/ `) f( @4 Z6 D7 F
  80.     if($result['error_code']=='0'){
    : l$ l7 N0 L( T8 I* C$ M3 G2 X2 w
  81.         print_r($result);
    # ^1 h3 }# z$ z7 Q
  82.     }else{
    1 ~+ G6 T5 P' R, V. _9 m: g! O/ y
  83.         echo $result['error_code'].":".$result['reason'];
    : r5 h$ Y- a$ N) r& n# W
  84.     }: |6 p- P; S) z+ x
  85. }else{
    : S5 e0 P) C3 H3 ]/ q
  86.     echo "请求失败";( ?* e1 a: y$ F
  87. }8 z  w$ g" d, V- e$ `
  88. //**************************************************) z5 V* R) l3 d+ d6 @& h

  89. % y8 v( \6 z1 _0 s4 ]; l6 n
  90. & t5 [) p0 s) T( g: n+ m) @

  91. , `4 Y/ R/ S  N( \- E4 Y

  92. + M  ?$ L. X; ~' z2 u
  93. //************4.图像识别************1 @1 `% {2 _! t7 S3 h
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    3 r* }% [( x4 z1 x6 K9 H
  95. $params = array(
    ' {" L  `: L5 D
  96.       "file" => "",//上传的图片
    6 b0 O( x5 B/ O3 }/ M5 W+ G1 m1 D
  97.       "key" => $appkey,//APP Key
    , N# [7 \/ w5 B
  98.       "pname" => "",//包名" b: N7 Z: k- G; p
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)- u. ^) @! r( v) ^& g& X
  100.       "device_version" => "",//设备版本(如:4.0.3)
    & s; o3 Z& p" s. u* J
  101.       "latitude" => "",//纬度& r) s6 }6 I; j  c0 E6 N) q
  102.       "longitude" => "",//经度* |3 c" t5 ?; I7 }) Q  A
  103.       "uuid" => "",//设备id
    $ l- F8 ^+ Q5 g  e1 l
  104.       "zone" => "",//请求地区2 n$ `7 X6 a. p. w$ x1 C, b
  105. );
    & ?5 b8 F( z6 A) ~7 ^
  106. $paramstring = http_build_query($params);. Y4 I# n# |, W, C" V
  107. $content = juhecurl($url,$paramstring,1);
    / K( |" F" x. `2 [* e9 Y: p3 I
  108. $result = json_decode($content,true);
    , x3 P7 ]2 R7 _5 o
  109. if($result){+ }+ B! R7 T9 u) x$ m8 {
  110.     if($result['error_code']=='0'){7 ^5 U" \% m! m# U# l2 o
  111.         print_r($result);
    , q* a+ e; r) l( J( h
  112.     }else{/ _3 w7 c& O& \1 K
  113.         echo $result['error_code'].":".$result['reason'];0 P: w6 g* l7 B
  114.     }4 W3 n, a; g5 e7 M
  115. }else{, C' }$ e- H8 a- C, N0 S: ?2 j
  116.     echo "请求失败";, m3 ]7 p, ^% z1 W
  117. }
    * G9 F7 a( O' H+ ?
  118. //**************************************************
    ; w1 u4 ^2 i6 h/ j' X" l/ u' k

  119. , F# [  g3 V7 q. |/ O$ R

  120. / n# {" [: h- ?& n& h
  121. 7 r; K3 y8 b' D: u

  122. 7 o' I, f0 m0 L2 Y7 J- P
  123. 6 v& [4 J% `3 o* @% R0 F
  124. /**$ b/ x: @: }# I6 T3 B
  125. * 请求接口返回内容' S: t* _* j- E: O! I
  126. * @param  string $url [请求的URL地址]
    % |2 j" _2 K% ?8 j6 @" Z# w; R  i
  127. * @param  string $params [请求的参数]
      J9 q- t5 n, `5 p+ q/ @) @2 O5 D
  128. * @param  int $ipost [是否采用POST形式]6 O8 t6 }. @% a" ]
  129. * @return  string
    * U: D% K/ q3 c4 ]1 F
  130. */! ^( ?) [1 {6 |" K
  131. function juhecurl($url,$params=false,$ispost=0){- A- N8 R1 Z, l
  132.     $httpInfo = array();
    ) d1 [" p3 T6 G, R9 `
  133.     $ch = curl_init();% x& U# P  C9 P% c$ U5 Q
  134. - M: \- O" @4 q/ x
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    ; W$ ^$ {2 Y# Z) f
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );! V3 a9 j6 T+ \0 W% B
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );  m/ R' a2 P6 x  {
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);) p, t1 A" [% _7 H: c0 B" P
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    + P# D+ G2 E4 `; O
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    5 c0 Z3 T  S; ~) l* C  K
  141.     if( $ispost )  l; B( q# k- c
  142.     {6 w& u  {: L! Q- \( J2 r. l
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    " M  M9 {# h- F' s
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    8 a, i( c( K+ ?( X
  145.         curl_setopt( $ch , CURLOPT_URL , $url );- Z$ q7 b+ G' a0 J3 o! [' l
  146.     }
    * Z7 F, I( R* {: D# [2 `
  147.     else. Q! {0 q- \  @
  148.     {
    * y: I: n, b4 N+ \( ~, V% Z$ i
  149.         if($params){
    # m% u6 B1 `' Z; y9 |( k
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    # `! Y# G# q4 N5 @% ]3 U5 Q' c! v
  151.         }else{
    " c1 ]" f, F# J+ I0 d0 r
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
    8 c3 N9 n7 V8 Z0 B
  153.         }. N$ I6 R( s+ B
  154.     }
    5 d% y# b9 d8 S3 v6 A" `
  155.     $response = curl_exec( $ch );
    $ t0 t' O2 e$ a: g" ~
  156.     if ($response === FALSE) {
    / ?8 D7 C' p$ y+ u
  157.         //echo "cURL Error: " . curl_error($ch);. I$ I2 }7 h- J  U& T
  158.         return false;3 ]  T% {, f# o/ C2 E
  159.     }
    ) X" Y# k( \: Z* }' U) |; [" F- n( c
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );" X1 [* a/ N- W, @  b+ q  p
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    8 R3 D6 k; z6 g+ T- s
  162.     curl_close( $ch );
    " g/ M/ b0 l# U
  163.     return $response;
    / O9 O5 F0 B8 O! H, b6 N
  164. }
复制代码

0 E$ u. V6 W1 p8 s& g6 e1 U. p6 A2 @+ e
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-20 15:40 , Processed in 0.112065 second(s), 19 queries .

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