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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
- u& ^; j: Z% Q, ^' d2 k1.添加商品信息7 }2 f% ^  }* W4 a) ^
2.添加图片
$ f7 f0 j6 f2 F4 m9 Z/ a1 P3.查询所有产品/ @, O. z' `) l! ?- e" x- O) H3 K/ S
4.查询某个具体产品信息* H: @- t5 }: l* v/ l% u! U
5.删除某个产品! i+ y* P$ N8 j1 k9 t+ N
6.删除图片5 B+ i' T- ?- t  T" }, x, R
7.图像识别1 j% l7 c3 L' a* Q1 g$ V3 J" d
$ m' V5 s7 d9 q/ B; ]: t' l
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey: `( P, `4 W1 ?+ J6 s2 G
9 M- H1 I  O. N$ c; p- w" @% r
PHP示例:
. h# {4 |' |$ {! n( G* M3 q
  1. <!--?php8 d; H" W( k' B
  2. // +----------------------------------------------------------------------
    8 \7 l9 `& y  Z. \5 Z, o5 b
  3. // | JuhePHP [ NO ZUO NO DIE ]: x, I$ ~9 p) C
  4. // +----------------------------------------------------------------------) m" s0 l+ i9 E8 G) ~7 a
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    5 Y' M0 w/ w: Y
  6. // +----------------------------------------------------------------------+ L8 S4 V. R5 P0 n6 u9 r
  7. // | Author: Juhedata <info@juhe.cn-->, q* _* ^0 d1 r, Q
  8. // +----------------------------------------------------------------------
    % Z7 D& v- Q7 ?- S  J

  9. ( d) s3 ^2 X2 ~0 j1 z
  10. //----------------------------------
    ; p# Y/ D6 W& C4 L1 ?3 @
  11. // 图像识别调用示例代码 - 聚合数据
    ' j* \4 l" z8 e% j# {" r
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    ) b7 p# D( E- R; Y9 P
  13. //----------------------------------; O# F, f" s' }$ K- T; ^7 i
  14. - Q7 @% _4 A% a1 G
  15. header('Content-type:text/html;charset=utf-8');4 S8 t- D) g" A3 z" _: f. I
  16. 6 z9 E3 Q  |. j+ }( G2 `- H' r/ ^
  17. 9 B0 w+ R1 p( R6 ~
  18. //配置您申请的appkey
    9 R7 s' I+ z. J, k6 R
  19. $appkey = "*********************";% A& S2 [. k# G- I4 U# U/ S0 j# H

  20. 0 E% ]- }" A" S
  21. / ]' m+ c; e4 b8 o
  22. / @1 t2 N0 g/ B( L% V. d
  23. 2 |( U! c5 z0 L+ ]
  24. //************1.图像上传************  q0 Y/ W1 |( m7 Q# i! Y) P
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    8 K& S; w. M! o. \9 g
  26. $params = array(# {' \" |2 g/ T* M! p
  27.       "file" => "",//上传的单张图片
    9 T2 n$ V4 z  k& N) Y
  28.       "key" => $appkey,//APP Key0 F$ }, d+ n7 w( l: a/ m" A, j+ B
  29.       "pname" => "",//包名' e" n/ O; i& B9 n9 Z+ @
  30. );
    6 w/ z8 I8 @7 [- @& |
  31. $paramstring = http_build_query($params);& ?: ~" ^) k* m3 q9 A. ]
  32. $content = juhecurl($url,$paramstring,1);
    ) y9 N8 v8 u/ l& K% x  `- ?' Y% v
  33. $result = json_decode($content,true);6 }( r2 g$ `$ F6 D3 v+ m" M4 L
  34. if($result){
    $ i; V' v; ?) H5 I& N/ @
  35.     if($result['error_code']=='0'){
    9 b0 D9 N# K9 @: f. u# u0 X
  36.         print_r($result);, f# d6 G, b, @8 \8 i, |
  37.     }else{
    : Z6 I2 S3 s3 {! L
  38.         echo $result['error_code'].":".$result['reason'];
    . j0 i; {- P# L# `- B( @
  39.     }" A, X) B- A& s. h. o' U0 i
  40. }else{
      N0 V! H1 i0 w# c' Y7 w4 J" r6 F
  41.     echo "请求失败";
    9 U1 w: }$ [2 h" L$ o
  42. }
    , O0 {# L; a, G& {
  43. //**************************************************
    1 J6 O: \  i' t0 S, s

  44. / j' x+ [4 _, m

  45. , C7 Y# l/ w2 k/ l  M+ f7 x
  46.   |6 o: G; @6 `* b

  47. 0 I5 D0 d! p: a2 J
  48. //************2.查寻上传图像信息************3 X- I. D# f; p- Z# i# \1 G9 ^! V
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    " U' z+ O' I: Q+ X4 D) I
  50. $params = array(6 ~% O6 R6 v& a
  51.       "key" => $appkey,//APP Key' P: d! t( \, n& e- b: R
  52. );
    4 l3 h# Z  C! ~
  53. $paramstring = http_build_query($params);
    " ?0 I, c- h* V. z( O
  54. $content = juhecurl($url,$paramstring);9 v/ m5 I2 L) u: n: S
  55. $result = json_decode($content,true);
    6 y. J" [) ?  h
  56. if($result){& I" ~: s' r' [! j# t
  57.     if($result['error_code']=='0'){8 O% O' T5 ^/ W/ z" ]
  58.         print_r($result);
    2 i8 s7 Z2 w' Q. J& d; k( ?3 U
  59.     }else{
    : y  J. \2 `* h, @, |, F
  60.         echo $result['error_code'].":".$result['reason'];
    , }5 h6 u4 g' l' E7 t
  61.     }
    # e( @/ O/ f% E! p0 ]
  62. }else{0 h* j4 x% g( h. b+ w2 K/ i7 h
  63.     echo "请求失败";
    * O1 R$ m. k3 A; B0 j
  64. }
    . h9 R5 p4 ?6 g0 Y4 K
  65. //**************************************************1 P5 F" A4 p9 n

  66. . ^, Z. c/ {/ }7 |/ r* Q

  67. 2 B% F8 Z; y, U2 g) u* K( G
  68. , f- Z( }8 `: A5 U! i

  69. 0 R' |* v& {- g0 u
  70. //************3.删除图像信息************
    # E9 B& G4 r+ a4 ], s& {
  71. $url = "http://japi.juhe.cn/image_recognition/delete";* x4 V" c& v. X. @: _
  72. $params = array(
    2 o0 h' T  s+ l) d6 c7 Y
  73.       "key" => $appkey,//APP Key
    , R% w; s) ~1 r; d9 a
  74.       "imageId" => "",//图片ID
    6 `* l$ A: A- M7 S# d* [% U
  75. );+ S/ N9 J9 o. g% \. r8 K% T
  76. $paramstring = http_build_query($params);
    % m7 c2 W# }, j$ k. d, Q5 G
  77. $content = juhecurl($url,$paramstring);
    6 }8 Y1 X: K3 U2 X% ?
  78. $result = json_decode($content,true);
    4 W/ _% r3 }% T9 B. ]. B5 p
  79. if($result){7 D8 Q1 t! k2 O2 c  c# H' M
  80.     if($result['error_code']=='0'){+ B& j( ~+ P8 M: g
  81.         print_r($result);( A# \, B6 p% o9 @7 F8 [) _
  82.     }else{  E% r- I, v1 D: S; u9 ]- t
  83.         echo $result['error_code'].":".$result['reason'];9 u" Y' {9 D& B0 R
  84.     }* i) u% a% ^" {# Q7 l9 a. \* i
  85. }else{
    ( q- M) o6 }% ?( ^% W
  86.     echo "请求失败";
    6 [+ q0 d# u4 X3 n7 [8 i
  87. }6 f) c: y9 A2 l
  88. //**************************************************
    " S+ {/ [+ n. C* x* B$ D

  89. " Y2 m$ F+ R: z8 X4 I

  90. % }8 \. Q. n# `) p6 h/ C
  91. 5 Q" f& @) n& ~" c' V; L6 r
  92. 6 K$ z4 A* D: @+ V* }
  93. //************4.图像识别************
    4 H  ]1 I6 C  ?. Y
  94. $url = "http://japi.juhe.cn/image_recognition/check";/ R1 N! B7 u  o5 p9 Z4 {% s* k* Q
  95. $params = array(
    ; t7 |  H# q1 r, N0 I3 }" ]
  96.       "file" => "",//上传的图片
    8 u$ [  a9 K. V
  97.       "key" => $appkey,//APP Key: s4 S! {. c9 }* i- N0 B
  98.       "pname" => "",//包名1 t9 f/ b6 p3 ~2 u8 ]6 w
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)2 g) k7 l5 Q5 c- D9 M
  100.       "device_version" => "",//设备版本(如:4.0.3)7 p- s# R) l8 d
  101.       "latitude" => "",//纬度$ k: T2 h7 }9 E5 ^' a
  102.       "longitude" => "",//经度
    . E0 F+ ]; t4 j  `4 A. i
  103.       "uuid" => "",//设备id
    - A; @# V! m5 J) x  ^
  104.       "zone" => "",//请求地区
    . H. g9 {7 E8 v4 Z% q! f
  105. );! E. p7 u" m% h& t. p- h
  106. $paramstring = http_build_query($params);% K" o' ^. J4 F5 M
  107. $content = juhecurl($url,$paramstring,1);+ W0 n5 v' H$ e7 |( R+ U& K( i' y
  108. $result = json_decode($content,true);1 H9 f" b1 R: J+ \: P; n6 J/ `
  109. if($result){
    5 Q4 g5 W1 ?' c  r" v# r
  110.     if($result['error_code']=='0'){
    2 U* R" F6 G4 W$ @) d; w
  111.         print_r($result);3 A; i1 s. z3 A: A1 y  j) B
  112.     }else{
    3 y/ w" p0 Z# V) {7 J! }) B! _
  113.         echo $result['error_code'].":".$result['reason'];$ v7 |3 t) y# c  `6 [; c$ [9 o
  114.     }7 i  ]7 w- h6 O- Z
  115. }else{& b$ m5 Q8 z6 ]1 u
  116.     echo "请求失败";9 m4 E* |7 @( D  M" }7 _1 i, M' N, ^- [1 _
  117. }
    + T7 j6 q0 ^& V- v$ v9 Z2 n
  118. //**************************************************
    ( w( _# m( {! t2 g; D0 K0 I
  119. ; N9 x3 G' y/ p8 q8 {* }

  120. 8 ?7 g& B* a: F! j. T% U

  121. - J! [/ r1 r: s+ ]

  122. % a& }( O4 C# B% \, ?; Z" @

  123. 6 p/ O* A  |2 Y/ f8 J4 ^- Y
  124. /**
    $ f7 L" e% ~6 K7 n
  125. * 请求接口返回内容' Y8 F$ J% Z9 ?
  126. * @param  string $url [请求的URL地址]
    & H2 r( ~# r; ~/ J: t
  127. * @param  string $params [请求的参数]% D  T2 J& g/ f- O2 k0 e9 ]3 d5 s0 {
  128. * @param  int $ipost [是否采用POST形式]3 o8 f2 M4 l+ Q' B0 `6 C
  129. * @return  string
    2 \3 N, m+ B5 w) p
  130. */
    8 _1 U/ R7 ?/ w( S  f8 w" Y/ \; J7 f
  131. function juhecurl($url,$params=false,$ispost=0){
    , p3 H! U: \$ z6 `5 {1 T* M0 H$ |
  132.     $httpInfo = array();
    ; v  w. c- H6 ?# J6 A" {5 Z3 {
  133.     $ch = curl_init();3 S3 x% y5 h: m! q
  134. . @8 o/ [2 ?3 F+ H" i0 r# z/ w: @
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    - y/ C  ~8 }  I
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );1 T6 I% p  g% M9 F" P. }
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    2 y8 [1 |% @1 s1 r& b9 |
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);* {0 g; X% R; k, `0 _) B* k" Y- }
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    ' N, K' A! d5 R+ a
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);) I# t6 A. d; B7 i, c
  141.     if( $ispost )9 x% l  ~; l) B# w1 F7 b
  142.     {8 m$ v6 L+ P( m+ B2 Z# Y6 o) a
  143.         curl_setopt( $ch , CURLOPT_POST , true );4 d1 {- U: g1 ~9 o: A) N8 O
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );/ Z9 z  y  y8 y$ T5 d3 c, x+ J* |
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
    ; U2 k" d8 ~5 ]) }
  146.     }
    ) a; X* K8 j5 K/ ~# E; r
  147.     else
    / v3 R( k' F0 ~4 s( M5 I5 Z
  148.     {  l0 _- N- k* F4 p# Q9 A+ Y
  149.         if($params){# _6 o1 O/ R- f
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );  Y# e6 F+ ~% n) ~
  151.         }else{
    4 L+ I* U) g/ l
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
    + z! ~% D7 ^; V$ u9 j
  153.         }
    7 X$ t" a( ]# B: X! W
  154.     }
    # n2 {3 F5 H5 v
  155.     $response = curl_exec( $ch );
    3 C, C7 @* R4 p5 L4 C, i8 p# S8 ]
  156.     if ($response === FALSE) {; Q( g6 z+ Q: a' F+ j$ f
  157.         //echo "cURL Error: " . curl_error($ch);5 O- K- u* t4 I( }8 C/ D  l4 X; D
  158.         return false;
      _: b6 `0 d9 @2 b( |; E- ]
  159.     }( V1 w  J* g6 d: \0 z& C! B4 T' W; U
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    ) b0 F; d- _; R7 D# A
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    - T# z; p4 n+ A' }; E4 X
  162.     curl_close( $ch );# t: D" e: c& c
  163.     return $response;" H0 _0 q3 V) ^% @* W
  164. }
复制代码

2 Q1 }! i, T' x$ i, T" D
; \4 t6 ?5 ^7 {; B0 d) ]% b1 X
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-4-27 02:16 , Processed in 0.113222 second(s), 19 queries .

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