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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
. @2 A# I9 w( Q! V  L1.添加商品信息) |, N, R- X7 B4 N% Z
2.添加图片
( V. S2 m5 Q' c' h3.查询所有产品
& y/ i9 e( L7 A7 ^* N$ ~" ]. K4.查询某个具体产品信息5 Y' n$ n* M, h
5.删除某个产品
: J  R2 z+ s5 p& ?6.删除图片6 o5 Z( q% i# [' E- T5 a  N
7.图像识别# L) r" g6 M( k) h

6 Y+ Q  z' Q7 |5 t) T$ K图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey, o) s  w3 F# C/ ^

& t( f" P$ t0 X# x/ [- FPHP示例:1 u0 G- P( N& D# L9 b. l
  1. <!--?php
    $ @5 l2 c8 r( U# E6 `
  2. // +----------------------------------------------------------------------
    . p4 n4 `- `. _- _" R- `" p
  3. // | JuhePHP [ NO ZUO NO DIE ]$ k. f5 a1 G* X: x, y
  4. // +----------------------------------------------------------------------! L! v1 v8 _7 D8 h( K/ V" L
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved., c: l5 T% D. z. \9 D; ]. F) _
  6. // +----------------------------------------------------------------------) w! b% i) X; h" \+ i, a
  7. // | Author: Juhedata <info@juhe.cn-->
    + `+ Q/ d, w) ~
  8. // +----------------------------------------------------------------------5 O- b' m% f" e

  9. + q7 o, d# t3 v
  10. //----------------------------------3 c; `0 D! S7 @2 |) B2 t
  11. // 图像识别调用示例代码 - 聚合数据: `( V4 D) B1 d% }
  12. // 在线接口文档:http://www.juhe.cn/docs/1178 g) g1 n: C! |( O
  13. //----------------------------------
    1 C3 H  @; I) S. w
  14. 3 c. S! N1 R& A+ F5 _- P" }9 p
  15. header('Content-type:text/html;charset=utf-8');. g! S! @+ h2 N. r& j3 z3 c
  16. ' O) |6 G. h) j/ F" h
  17. " z) X; R$ n, I
  18. //配置您申请的appkey
    7 n9 ^0 D% |; Y8 {1 s9 m* S) k7 B
  19. $appkey = "*********************";' e. N8 S  b( B7 V* a7 I6 k
  20. 4 H8 }1 ~5 G: J" U5 p" _  S

  21. + z  X% T8 ^, E$ K, ^3 H- m3 o

  22. % T  ^# l, h* ]9 `# z, Y/ T
  23. 9 w: c- r; C  Y5 E( l
  24. //************1.图像上传************$ q4 W. x9 k. _' v! o7 c
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    ) O  u; C* J) B0 \" j* P5 R, R2 w7 C
  26. $params = array(
    - X: \5 f4 }% h
  27.       "file" => "",//上传的单张图片
    ) z3 X3 E2 l" Z, J- J
  28.       "key" => $appkey,//APP Key# J* x: p: Q- H
  29.       "pname" => "",//包名5 U$ x4 C* N6 u8 y# F) B6 L; c
  30. );$ h! J) U2 a, T4 z: ?
  31. $paramstring = http_build_query($params);( `" l/ y2 l# O7 A, I7 E
  32. $content = juhecurl($url,$paramstring,1);, P% N7 R# W8 i. G6 i4 Q8 q: X
  33. $result = json_decode($content,true);( g" y# e, d. z6 b8 k3 {5 F7 q
  34. if($result){2 c% l, G, g+ ?: ~# z, y
  35.     if($result['error_code']=='0'){( [. |* A+ g2 y1 v1 Z
  36.         print_r($result);( H+ v: G5 e/ X2 i; c
  37.     }else{
    $ g/ {: g3 n; [# a* W' |
  38.         echo $result['error_code'].":".$result['reason'];
    ) _. m) ~" m6 R! P+ v8 A
  39.     }0 C% ?% b1 p! a# v
  40. }else{* H3 {% t; f* G7 s) Z
  41.     echo "请求失败";
    : v) z; c. [1 j, W  w2 J
  42. }8 u7 V) P9 ^, z7 q
  43. //**************************************************' J. T/ M) O0 D

  44. * N% v& |( o( ~  k, M

  45. 2 O) O0 }  o- g0 L
  46. 9 {' @- b: ]  B$ r! \) A  G

  47. $ [% y. F. p. X
  48. //************2.查寻上传图像信息************; V$ M' i) r% I" Y) l6 {
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";+ q3 z; l7 H/ J& F+ [
  50. $params = array(2 q7 D) t- J- C+ s3 i% n2 ?
  51.       "key" => $appkey,//APP Key
    ' p% q! g" F1 K- r$ y4 D
  52. );
    ( J: M0 }3 }3 X) g5 b
  53. $paramstring = http_build_query($params);
    6 Y! k8 a% T; _* E& c
  54. $content = juhecurl($url,$paramstring);
    8 J" U. y$ g( D  _, t; E
  55. $result = json_decode($content,true);
    4 [9 ]1 W3 v* Q; ]4 F& r& H
  56. if($result){
    ; t) ]* v4 L) O9 |2 V% y/ b  g/ `
  57.     if($result['error_code']=='0'){
    ! H! }6 E/ s! H! E0 H
  58.         print_r($result);/ Q5 g' n' m) G" v! X0 V" S- L7 w
  59.     }else{
      W7 q1 i$ v1 b  e7 L8 u
  60.         echo $result['error_code'].":".$result['reason'];6 G( `& ?$ m: g
  61.     }0 t- I. i8 |5 B3 ?* _. q1 a
  62. }else{
    0 Y- x' T+ t* w  N: \3 |0 J4 K
  63.     echo "请求失败";; i% }6 o: \6 R0 r9 K' [* s
  64. }
    9 G* T$ r' e0 h& n: d6 P
  65. //**************************************************
    6 Q- f- E) ~# P5 l8 ]: k

  66. $ ?' E5 \  Y8 ]
  67. ( `0 H( O4 D# H3 {, Z5 ~2 G/ T; p

  68. 7 Y$ s) P2 Y9 q

  69. ; k: n0 w$ J& D: ~" ~. N* k
  70. //************3.删除图像信息************2 w8 `! W! Z4 s; W
  71. $url = "http://japi.juhe.cn/image_recognition/delete";
    ( q! @' S/ S! @) Q$ Z" J
  72. $params = array(4 s' I# h0 x* @0 Q3 T9 `" Q
  73.       "key" => $appkey,//APP Key2 M8 V6 B! m" U! m8 V5 Q7 m
  74.       "imageId" => "",//图片ID/ ^- M5 y* @: X, H* e, r( i
  75. );/ a# r; `% u: q  \0 |4 u
  76. $paramstring = http_build_query($params);( z7 N! L# M  U' i. Y5 ~
  77. $content = juhecurl($url,$paramstring);
    " z9 f# {# t* Q& ]& Z9 t
  78. $result = json_decode($content,true);9 F9 d' W+ i+ G, ?  j. {
  79. if($result){
    : D0 \, P  v" m7 [. }& h3 D0 w
  80.     if($result['error_code']=='0'){5 ?" d! ?) w! _+ }
  81.         print_r($result);" K. S4 v. O9 l9 k) @7 M6 c4 c2 M0 h
  82.     }else{9 e' s" m9 k- ?; `8 v6 M0 ]
  83.         echo $result['error_code'].":".$result['reason'];! v! a. M9 H0 _/ ]; p
  84.     }
    8 Q  g% x! B# t0 ~6 Q8 d2 R
  85. }else{$ g' H% ^! [& `6 V7 F' Y
  86.     echo "请求失败";
    6 R# @* Z; I/ i* V/ r
  87. }
    9 Y- {$ r. p, s0 N/ l0 m/ l# ]
  88. //**************************************************2 c4 H# V$ I4 a0 E3 R
  89. ' l) ]. t5 Z6 n& o7 Y, n, {

  90. / T& Q; @3 ]7 w7 d
  91. ' `5 @) c4 @' a: `' O
  92. ( z8 u" B( P& t% O
  93. //************4.图像识别************
    ) {3 Q# _# L; g, o
  94. $url = "http://japi.juhe.cn/image_recognition/check";. U0 w2 `2 W9 C7 E, b: E
  95. $params = array(( K- X& t% y$ l3 h: }" X
  96.       "file" => "",//上传的图片1 Q. c9 {$ J# C8 B
  97.       "key" => $appkey,//APP Key( L2 O% X/ i* k  I3 s- ]; |- |
  98.       "pname" => "",//包名0 A) T1 Y) Q- {% t0 e# j
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    " a* j( `7 u+ q$ ?
  100.       "device_version" => "",//设备版本(如:4.0.3)
    , M) x3 [6 |" h/ f5 c8 M, d' n
  101.       "latitude" => "",//纬度* @! k: \" B! {  b
  102.       "longitude" => "",//经度
    2 V; c5 q0 d) w0 Y/ K3 J2 K( b6 _. }
  103.       "uuid" => "",//设备id; m' w& p- o5 h2 G1 d
  104.       "zone" => "",//请求地区" j/ Y0 C7 o- s2 X! m
  105. );6 x: t& t/ Q3 s$ z
  106. $paramstring = http_build_query($params);
    , G! k+ g( U' @$ i
  107. $content = juhecurl($url,$paramstring,1);  M& v+ b, D# L) }8 _" A
  108. $result = json_decode($content,true);, |9 G( R* A1 p& E! X, Y2 M
  109. if($result){. }. D' f5 d* {) a* M% w0 ^
  110.     if($result['error_code']=='0'){; o) ]- q  r9 F7 P
  111.         print_r($result);8 V. @, }( k- r( w
  112.     }else{
    # l1 {( @* P7 p+ J
  113.         echo $result['error_code'].":".$result['reason'];; E: T  I$ q( x* {0 s& E6 [
  114.     }: W1 R( B0 l, t$ V) }5 z1 U7 d
  115. }else{& Z! Z% @/ X$ d$ O  w
  116.     echo "请求失败";' F0 ]) a7 y" c' W. |' E
  117. }
      O  q8 d( N  f# a5 G
  118. //**************************************************( F8 J# ~5 H& U( u! l2 s0 @2 @

  119. - w6 `1 m' n! X

  120. 2 m& y. N$ |: r4 f" D

  121.   Z' B8 m; ^; {; l  U. V1 F
  122. 6 r! m% d7 N. ?3 [0 m

  123. 7 o' _  [6 o# Q3 _. F$ g
  124. /**7 h  m% M: b5 U2 H4 V  l7 `5 b
  125. * 请求接口返回内容4 F& y7 Y" y4 {9 E+ v! R% Y1 E
  126. * @param  string $url [请求的URL地址]* O" @. o) @; j3 U; h/ {. Z+ I/ y
  127. * @param  string $params [请求的参数]9 f- f9 K$ k! b! F8 v$ v
  128. * @param  int $ipost [是否采用POST形式]) c3 U. ^8 ]6 Y) _+ \+ F
  129. * @return  string+ q' w% Z- i) H% T: M& i/ s4 `
  130. */5 l$ Q, b+ e$ B1 {# w1 F
  131. function juhecurl($url,$params=false,$ispost=0){' L% ~+ d7 B* }8 f
  132.     $httpInfo = array();7 Y9 z5 p, ?( ]! M. ?
  133.     $ch = curl_init();
    7 {4 G7 z; I, {8 v0 _

  134. / I. l$ l5 a/ Y' s, R  ]
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );" s0 ?7 ~( \3 G, C$ P& f
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );) s9 F0 ~9 h0 N) O* u+ `1 b9 A( Q
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );0 K; Q4 L. b  R' {
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);# c; |) E# |  R' g( h: C3 F/ G% D
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );$ C+ D4 n  I$ N
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    5 g4 y. l4 i- y& U1 x4 Q
  141.     if( $ispost )! H8 j. H0 o2 y; k6 ?  {* n  Y& }
  142.     {1 h* |0 P; L" o+ \  `
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    & D% k8 @1 ?/ `0 a6 s5 \
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );  M5 r( Q% A( m) @- V0 O2 W: n2 V# Y# I
  145.         curl_setopt( $ch , CURLOPT_URL , $url );7 L* p2 w( m7 S, X
  146.     }! V) k+ T, X/ r0 `; a1 l' }6 v
  147.     else
    3 S& x1 {2 I( Y! {: t2 [
  148.     {5 d' I% o8 E% X& @- m6 l4 r1 t# V) C$ f
  149.         if($params){; V& Z+ m+ v+ f( T& @
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );# u" s$ U) |1 N
  151.         }else{
    ; A4 L) Q0 g7 I6 H9 _7 i; Y
  152.             curl_setopt( $ch , CURLOPT_URL , $url);4 q" Q0 ]* o" v; Y& _
  153.         }
    " a! S  Y9 r; h5 n
  154.     }
    5 G3 a0 F4 Y7 o4 k, N# M
  155.     $response = curl_exec( $ch );
    4 T8 U$ g4 C% Y
  156.     if ($response === FALSE) {
    / [: U9 W& W2 n* A4 Q( ?! o) ~
  157.         //echo "cURL Error: " . curl_error($ch);! G5 A) e& e7 b$ r; I- v3 W
  158.         return false;4 H) s5 F$ d& G' D" A6 e% z5 ?; y
  159.     }, z+ {$ P3 ~4 v( ]# j8 C
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );, x7 M9 P" Z: X. B" p
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );7 W* a; T8 }  o% N( \9 L1 o. w
  162.     curl_close( $ch );
    - q- ]) Q# s' K! e5 _
  163.     return $response;" M( t. t, J. }6 M" j
  164. }
复制代码
* B8 @. S& Y$ D2 {9 u5 O

0 ?, U/ ?% L2 O. J
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-6-4 12:57 , Processed in 0.055616 second(s), 19 queries .

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