cncml手绘网

标题: 图像识别API调用代码实例(PHP) [打印本页]

作者: admin    时间: 2018-7-8 00:13
标题: 图像识别API调用代码实例(PHP)
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
: f$ k$ L! E7 L8 T+ e1.添加商品信息8 ~, G! N/ a9 T) p
2.添加图片
$ Y7 ]1 ^: ^4 x; \( h; V  G& c  }3.查询所有产品
: g. K; o- ^+ Y2 z$ c$ J4.查询某个具体产品信息
" c0 g4 q4 z+ H* \5.删除某个产品5 _! `  N0 J+ Q& v7 @
6.删除图片
! k: a* M2 \/ g! ^0 Y$ u6 f7.图像识别
: q1 N  q) [2 Q' Z, W+ A, o8 C8 D  |7 ?: F# J
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey+ C. M$ F* }* Z# B- R

0 Q3 j& \1 o5 L' h; EPHP示例:
2 R% d) Z# ^9 ?3 t. o/ U: N+ J
  1. <!--?php# F8 p5 _8 \: F' h' D3 u. [& _. C$ t9 U
  2. // +----------------------------------------------------------------------( L  F1 j% L. \2 \5 A0 G1 z- m
  3. // | JuhePHP [ NO ZUO NO DIE ]
    . M: }& k# N% v8 A0 j6 I9 O: E9 J
  4. // +----------------------------------------------------------------------. M6 H5 V: K! I
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.6 K* G! ~3 Y0 A4 \9 L
  6. // +----------------------------------------------------------------------' }$ L0 U# R4 ?) F" e" E6 [
  7. // | Author: Juhedata <info@juhe.cn-->
    6 ]4 k) L' H% r
  8. // +----------------------------------------------------------------------
    / I& {9 A- v5 W3 I4 q# @" a6 B

  9. 5 q* y2 H# f( X0 H2 G  o1 m  T7 K
  10. //----------------------------------  u" ?1 Y1 t3 R5 G
  11. // 图像识别调用示例代码 - 聚合数据2 F; D$ [  \: o1 O  J6 S
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    " G7 \* I* J! l3 n
  13. //----------------------------------
      ^4 _% z. l; w# x* |" |% Z

  14. 7 L/ b- w+ Q2 E7 y. F* S. ]
  15. header('Content-type:text/html;charset=utf-8');; I8 T2 Q4 D# u

  16. / q+ {$ x. M: N, N2 ^7 a5 B0 }: @
  17. , W# B# `/ s, I1 R$ L! g  O
  18. //配置您申请的appkey
    $ Q: {6 `; y3 M/ e/ |. Q
  19. $appkey = "*********************";
    ) h1 x* U  n2 r% W3 a

  20. 7 T$ V7 {: }. v# n. u1 P6 L
  21. , L1 z% M* j5 w* }5 Q
  22. 7 h6 ?; P& I0 v* r

  23. . t  S' z9 }" R' W5 P0 }1 o: ^0 x
  24. //************1.图像上传************
    % _  r; I4 [" S& L
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    + z; x8 Y7 f* u" z" q$ b1 C
  26. $params = array(# M7 l1 U2 m3 Q- ?9 J
  27.       "file" => "",//上传的单张图片
    3 ^$ |6 x. V- ^& u  A/ {  Y
  28.       "key" => $appkey,//APP Key: a& J) {9 j  k
  29.       "pname" => "",//包名" n, X$ K: [: d
  30. );! J' w7 ~4 b. h! W
  31. $paramstring = http_build_query($params);
    % r1 `1 O2 ~- m* c3 o
  32. $content = juhecurl($url,$paramstring,1);
    + @3 U, `) N) b+ m+ C
  33. $result = json_decode($content,true);  {, }  p; A$ R' q: B* a
  34. if($result){
    / I8 _( f$ G4 A+ D; A  U# \7 @
  35.     if($result['error_code']=='0'){
    . q/ R6 V- u6 C0 j7 M
  36.         print_r($result);* c5 u* h# F, Q8 V, g
  37.     }else{, \) S9 `$ W: q. n- I$ H$ C" t
  38.         echo $result['error_code'].":".$result['reason'];
    & R7 r3 `7 t# O: j
  39.     }7 |# j, |3 v5 J7 K1 O7 f' P' J
  40. }else{/ ?1 d& ~0 S* L9 a+ ?
  41.     echo "请求失败";' V# S; y. e* A" {- C' f
  42. }* C1 M0 `2 L3 c
  43. //**************************************************
    . Q5 Y9 b( G5 H6 A* n3 A' Q/ W7 v

  44. ! Z5 q! {5 x( |% a+ ~6 d6 I

  45. & r9 U! a6 T. ]3 H( |

  46. ! }0 \) X: O0 v0 l6 H5 ~, B7 C' P! G
  47. " G) A" n* p* v$ x. _  a- N
  48. //************2.查寻上传图像信息************! J" Q8 z3 _# n4 L+ @& a6 J& z
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    $ Z. B2 F& H  V+ {4 v( n
  50. $params = array(
    / S8 @" u/ v, X# ]5 x
  51.       "key" => $appkey,//APP Key
    7 T8 |- |, {# b1 ]( c
  52. );
    0 V0 l  t0 f& ?6 S8 c% V
  53. $paramstring = http_build_query($params);
    + c$ E" I' q$ X( o6 o
  54. $content = juhecurl($url,$paramstring);
    , O1 u! i  G! |' _7 q2 i% q7 U6 h
  55. $result = json_decode($content,true);; ]# ?1 f% c' @0 ]  v  Y( s
  56. if($result){5 x* a3 o5 N5 ~. t8 G4 ^# C
  57.     if($result['error_code']=='0'){: N  Q  @" h8 U$ i0 [' v* _& Z0 D$ P4 H
  58.         print_r($result);
    1 C2 l& U, r9 O) t; H/ A/ y
  59.     }else{$ F3 m' ~  u5 a% j
  60.         echo $result['error_code'].":".$result['reason'];" _  l5 D9 A$ ]! W! O
  61.     }
    2 c" }1 G* [; F! V# D4 l$ Q
  62. }else{  v1 t9 h* v7 P+ N/ E
  63.     echo "请求失败";/ n* y" L( N$ G% G' a& E
  64. }
    " {' d; ]4 c1 Z% q, q
  65. //**************************************************6 d) {4 Z& {$ N$ ]

  66. 9 o% n) l$ [  K) c6 V$ U

  67. ) `& h" M% O- h

  68. 0 Q, g' z' L+ ~( a  q
  69. ! F" Q: T$ [) e3 j
  70. //************3.删除图像信息************
    " D1 z# w  q/ ~
  71. $url = "http://japi.juhe.cn/image_recognition/delete";
    2 x3 V) e9 H0 l) S
  72. $params = array(; _2 S7 T. V2 \! ~) M0 q& {* d
  73.       "key" => $appkey,//APP Key4 l; j0 t* P% O) L) t
  74.       "imageId" => "",//图片ID
    ' P. f& K& w2 L$ f; }2 ^
  75. );( {9 e- b  a/ s2 P
  76. $paramstring = http_build_query($params);7 {7 T7 G. n. d
  77. $content = juhecurl($url,$paramstring);( @5 W6 I9 B2 e* T2 T8 g) ~% ^1 z
  78. $result = json_decode($content,true);
    0 u1 v* Q8 |$ A7 L6 e) G' V
  79. if($result){
    1 ]% w( y+ d) ]/ M0 R
  80.     if($result['error_code']=='0'){/ D! U, k& R# S2 n: |
  81.         print_r($result);+ ^( F7 s2 \4 H. K7 Q( o# e
  82.     }else{- u# G" @+ W: Q, {% a( F" w2 E$ N
  83.         echo $result['error_code'].":".$result['reason'];
    $ W$ E+ w9 Q/ [  M
  84.     }
    1 u7 m4 O4 e/ g7 O
  85. }else{
    4 X) C# R7 z& [; W/ q! |9 t
  86.     echo "请求失败";+ k+ f4 Z2 x" T( L1 l; h6 K
  87. }
    ' [+ L" [% B9 j( V# D' Q1 n/ n+ J2 y
  88. //**************************************************
    2 u. O$ u. I3 x7 O

  89. . g) g. |& X0 ^3 k& E; @
  90. - R4 A0 x* \! z

  91. 0 A0 B8 Z( k' A5 j8 x

  92. 2 O- I4 R& T& O! N9 K: m! |& r; p( B
  93. //************4.图像识别************
    0 t9 C2 h) H8 m
  94. $url = "http://japi.juhe.cn/image_recognition/check";& b4 t% ?( X, }1 ?0 R3 n
  95. $params = array(
    ; J/ B) ~$ z5 K7 ?0 E5 @
  96.       "file" => "",//上传的图片
    " ]& V. \7 U1 G
  97.       "key" => $appkey,//APP Key+ P/ c& B! H- i3 v% f& v2 o
  98.       "pname" => "",//包名. L& A9 d9 s% e
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    * ^# b2 V% y1 x# P  p
  100.       "device_version" => "",//设备版本(如:4.0.3)3 [+ p/ |0 I- w' k! Z9 O8 Z
  101.       "latitude" => "",//纬度2 s* T$ L" i1 S& N6 p
  102.       "longitude" => "",//经度
    5 D7 s8 i0 r0 Q6 J
  103.       "uuid" => "",//设备id( J1 m  L5 ^) R
  104.       "zone" => "",//请求地区
    2 u4 o& ?3 i" O: @/ I
  105. );! X1 D+ |- A7 ~* ]% G$ h4 C
  106. $paramstring = http_build_query($params);
    / b& o! Q& z  l. h$ G- A
  107. $content = juhecurl($url,$paramstring,1);7 r4 k, [# s7 X, \# R
  108. $result = json_decode($content,true);
      r; o: h4 G! g( u
  109. if($result){" i  }5 p+ O" e" u0 A. |
  110.     if($result['error_code']=='0'){  W4 c' s+ s5 i, B# C+ k3 }
  111.         print_r($result);
      g% H* a* j, J2 B
  112.     }else{1 x- C; c& E7 i( e  ?
  113.         echo $result['error_code'].":".$result['reason'];" J: @2 R, l) L- z
  114.     }
    5 F! c# J- D8 s
  115. }else{7 x3 w" w: Z; T5 H  K
  116.     echo "请求失败";
    9 V" a- v5 Y) j; \, @2 t
  117. }
    + m/ W# K3 A: U8 K2 j3 P, Z
  118. //**************************************************
    $ F4 k& r9 j0 z! f
  119. * S  }/ {% R! M5 Z/ ]$ m

  120. ( G' m1 R3 H1 O6 n% T8 X

  121.   m2 X4 g9 h3 W& l* m# a. _
  122. 7 R9 m1 x5 C5 e: w8 G

  123. 1 b. r7 z' Y. L! a
  124. /**
    0 l! n& }2 ?2 o: P$ d" W: v
  125. * 请求接口返回内容' u4 @+ G. k5 A2 ?
  126. * @param  string $url [请求的URL地址]/ H3 `6 v6 E# Y2 Y
  127. * @param  string $params [请求的参数]
    0 F4 u3 M. W- p! i" |1 G
  128. * @param  int $ipost [是否采用POST形式]
    ( y6 i( d4 N/ h2 d  N1 K% i
  129. * @return  string2 W, g% q; D7 D4 i9 G* Y
  130. */4 G5 @: t2 |/ Z( Q3 i
  131. function juhecurl($url,$params=false,$ispost=0){7 c+ c+ J0 O# w! A( d
  132.     $httpInfo = array();
    ' m% R/ K4 {' B
  133.     $ch = curl_init();
    0 t6 g0 E& i. ~8 {1 H; g- X/ D, S

  134. ! z6 P+ C. m+ n/ ]  e0 N
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    2 G; }9 o+ M0 B* N
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );/ [* u9 D+ o% \7 ?/ A2 o
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    4 a( q+ X7 i$ {+ G$ O* X2 M1 k" _
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);, L" t0 ], n9 B, q
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );/ w5 k. k) {" g0 G0 e7 }- J7 K
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);$ u2 @0 Y: R3 [6 U, N& B  f- P9 w
  141.     if( $ispost )
    ! k2 D) D1 T- L7 N5 I
  142.     {0 S' _* K; N( ?. `0 ]
  143.         curl_setopt( $ch , CURLOPT_POST , true );0 ?0 \) ?3 C9 g% q: j  b1 c5 q
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );1 f! k  p" J/ f% a. J
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
    $ _% r* v. e/ l
  146.     }
      x9 s' w. @( @
  147.     else- r2 r! f, i9 t" C- H, c
  148.     {
    * U: v& i! p; i( W6 [
  149.         if($params){0 o' l0 s7 U3 A  G4 b
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );" y( C- s( u" E/ g! P% X  ?. P
  151.         }else{
    4 r4 [3 S6 b% z
  152.             curl_setopt( $ch , CURLOPT_URL , $url);4 p( h; ~" D1 x2 ]% a
  153.         }
    $ s8 H* `3 `0 F
  154.     }
    6 y+ \) y# d0 Y' _, T
  155.     $response = curl_exec( $ch );, d3 X% q% \# K( a  V0 G
  156.     if ($response === FALSE) {
    5 R8 H/ A$ ^  A1 w3 ^9 F
  157.         //echo "cURL Error: " . curl_error($ch);7 y+ [: a. G! x6 x1 k) ^
  158.         return false;
    7 F# O# X9 Z% M7 z. A$ }, a
  159.     }
    ! M, {: ~  @/ ^3 _2 A. U1 [5 e1 Q
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );% V( O5 A- p5 c! K: n% t
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );" {3 Z2 [5 e. A- [5 ?+ j6 d
  162.     curl_close( $ch );3 w* `) A- b9 g) D+ z1 r0 e/ V
  163.     return $response;
    2 V! D. N7 M! N1 r! {. ~' {' @
  164. }
复制代码
& X7 f( w$ a2 U9 B! v+ a) Q
( I0 G7 x  \, L+ l





欢迎光临 cncml手绘网 (http://bbs.cncml.com/) Powered by Discuz! X3.2