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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。) g2 O& Z& B! t& x3 U' s
1.添加商品信息
8 j: {7 h4 L0 n# j/ J8 n2.添加图片6 R+ m& s: x' p, m. }) s, c' ?( u
3.查询所有产品$ f* q6 |5 i# T- r
4.查询某个具体产品信息
4 x8 l  k8 S0 h+ d5.删除某个产品5 `" E) Q/ z+ b+ _
6.删除图片
; Z0 Q4 L  z: H/ ~/ L: B% D/ C- {- }7.图像识别5 Y' N5 a+ m; W6 W- X
1 }/ G# D! U0 ]+ S- y% W  d, m
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey* U2 I4 L) o- k  F" N/ E7 C( |: x) P
+ q6 k" t. I% O! y/ e" U" e7 k
PHP示例:
8 d6 H% s' H9 T4 m% x" p
  1. <!--?php
    6 c" Z% [3 i% p, v( F3 `% i
  2. // +----------------------------------------------------------------------: O: a" @( b8 w/ s! h
  3. // | JuhePHP [ NO ZUO NO DIE ]
    ' }& E4 Y0 O- X
  4. // +----------------------------------------------------------------------
    . ]$ j. @# G- `& f! i$ ~
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.% b# f; A( E) a$ W7 I
  6. // +----------------------------------------------------------------------
    $ }1 g; y* x  ^+ j/ x) X: m; o2 T
  7. // | Author: Juhedata <info@juhe.cn--># n+ E# X6 o3 Q- O
  8. // +----------------------------------------------------------------------
    + y% m0 q( \" V" q
  9. ; i% I% _6 b+ d
  10. //----------------------------------
    $ q( ~, U3 y/ X- g
  11. // 图像识别调用示例代码 - 聚合数据
    ; p: w- o. U7 p* }: t
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    : g' _" Y1 w6 Y, x! G  {
  13. //----------------------------------4 a, E* i& v9 e( @" Z
  14. 2 q% `  o/ w3 e! t3 S
  15. header('Content-type:text/html;charset=utf-8');
    * B7 J3 S% t( I  n. s' U
  16. 6 S7 f. G0 m3 H. g. B) F9 B# O
  17.   F, e8 R) U) p, s- ~
  18. //配置您申请的appkey0 `3 ]6 u1 O! |$ ~; I1 v
  19. $appkey = "*********************";. ~4 k! v7 _) p" Q
  20. 0 A# |2 y% K$ r- l
  21.   k. Y  z& x# x/ @" N1 Y, @

  22. 8 ?2 f4 p3 p$ u+ R  t

  23.   }4 L# X) Y8 t& s' X7 w
  24. //************1.图像上传************
    5 u& ^+ {7 S7 g: L+ `+ ]( H
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    * h9 P6 ]8 V9 {0 ~- P/ D
  26. $params = array(
    3 d6 V- ~- V5 m2 }; n# d5 H# e
  27.       "file" => "",//上传的单张图片, ~, [9 K* p! d' t0 @. I
  28.       "key" => $appkey,//APP Key' f) U( R( C& ~
  29.       "pname" => "",//包名
    , A6 j- }- z; }0 c# m$ g
  30. );- ^/ R1 T% t" [/ u6 U3 Q, \. H
  31. $paramstring = http_build_query($params);6 |. s% h) r8 F- ^; M
  32. $content = juhecurl($url,$paramstring,1);& a7 R! d2 a, f$ m
  33. $result = json_decode($content,true);
    7 q" G/ x, K$ q3 J3 Z# V+ |
  34. if($result){1 M3 R3 \% e1 t  M
  35.     if($result['error_code']=='0'){
    7 ~* k: Z1 C" j! `/ _; l% N
  36.         print_r($result);( x3 }7 a6 m# [) H7 U: A
  37.     }else{7 y1 A) |# c8 I8 [& y8 z2 X
  38.         echo $result['error_code'].":".$result['reason'];* @. F& O* W1 ?: k/ y& Z6 D7 f, _+ R, m
  39.     }
    % y9 \/ z* b$ Z% l/ F* Y. ^- j
  40. }else{& m% B# o2 e! B+ j
  41.     echo "请求失败";
    2 L1 ]6 ~4 d4 b( U3 J+ v: c; W/ c
  42. }
    * {- @8 u' F. `
  43. //**************************************************2 Y; H# r$ U9 x" }( `9 `  D" x: R

  44. " t0 Z, ^6 L3 H( L
  45. 4 y: x6 T+ D2 b

  46. 2 d3 q. \3 k, p8 F9 Q' D5 w1 r% a

  47. 9 a1 R- d: c5 x" I: I
  48. //************2.查寻上传图像信息************
    3 x" Z; S4 v) D+ l
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";7 V9 l& B& |- u. W( \
  50. $params = array($ R" ~2 c; X* Y" X8 h1 G" p% `
  51.       "key" => $appkey,//APP Key
    8 i/ h: W5 F, \" l+ ]/ u. `# }- N
  52. );
    " b- y9 K# Q! q
  53. $paramstring = http_build_query($params);( n+ K, c% J8 g# f, ~6 v% b3 @
  54. $content = juhecurl($url,$paramstring);
    " N! }; n, E- F' X# p% s  l
  55. $result = json_decode($content,true);
    ; `! `& L/ U/ V! J+ N& E/ [+ m2 Z5 ]
  56. if($result){+ c# |/ p. |4 E
  57.     if($result['error_code']=='0'){
    0 i" _5 e6 p2 m
  58.         print_r($result);& ]* C* n6 E% z* T
  59.     }else{$ `) p/ h7 ?) y* k( ~% }" w( Q! ^
  60.         echo $result['error_code'].":".$result['reason'];
    0 z; l: w! l$ G, a3 Y
  61.     }
    ! l3 x' `+ k5 P1 h" b2 g0 I
  62. }else{
    7 H. J+ O. |. b# z/ X3 v
  63.     echo "请求失败";
    2 R3 X; i" s2 z: r
  64. }; z% a; G. F+ C: k/ ^2 ^
  65. //**************************************************
    + l  E  C2 K7 J1 u
  66. 9 e/ u! y& ]2 B- u8 r& ^
  67. 7 g# i) x% ^% A

  68. - g; u8 T& p5 Y9 x3 j

  69. 2 x6 Z  J9 K* \' V+ A& L; F
  70. //************3.删除图像信息************2 k- s' t) q- F2 s
  71. $url = "http://japi.juhe.cn/image_recognition/delete";
    8 c$ G8 Z5 J5 K. N1 a1 s) k
  72. $params = array(4 c5 Y6 L& w  W- T
  73.       "key" => $appkey,//APP Key. x  Q' L+ p8 [( ?  ?* F( o
  74.       "imageId" => "",//图片ID
    : U- K6 I  [$ k* n$ q  Y$ W
  75. );1 e" w, p  r, a; l5 G" D
  76. $paramstring = http_build_query($params);  t5 |+ Q$ D) b; k7 [& G* o" W* s
  77. $content = juhecurl($url,$paramstring);; p3 y  U& p$ ~7 j
  78. $result = json_decode($content,true);
    * u0 R7 f9 s) f/ r+ T, }! K
  79. if($result){# [; }  I3 S8 g) c+ L% I* j' c
  80.     if($result['error_code']=='0'){
    ( r0 \0 D9 ?, b- ]# I
  81.         print_r($result);7 z8 c/ g0 D( n
  82.     }else{
    - t- g+ f: o4 [- t' E
  83.         echo $result['error_code'].":".$result['reason'];
    . u$ s# n; j* Y1 ~
  84.     }9 f) S2 C, y  W2 m
  85. }else{  n, S3 `9 Q0 C2 _  p
  86.     echo "请求失败";
    - \( N7 i5 ?6 ]( Z, Z% u
  87. }
    ( A" ?7 O  U" T- \4 Y" A; p
  88. //**************************************************# F% w/ u, W% e9 f$ V. X
  89. 3 C- @* P: N( \1 {. Z( Y4 B

  90. " F5 R4 O6 I! p

  91. : v3 q5 O: t7 j/ r4 x' M! Q

  92. 1 }0 B* B4 t0 J9 x# V! F
  93. //************4.图像识别************! z2 ^8 L# ^+ U3 K5 C# F
  94. $url = "http://japi.juhe.cn/image_recognition/check";3 U2 A1 U4 e' L. h: h; \3 G- m
  95. $params = array(5 W9 y. a3 B# p( `" ^% e" `
  96.       "file" => "",//上传的图片2 d+ v  i4 W* o/ R7 j) b
  97.       "key" => $appkey,//APP Key! m5 S6 ]/ M$ ?9 E: Q
  98.       "pname" => "",//包名* y# U5 p- d: v# o  e
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)' N6 D" _+ C' O+ e
  100.       "device_version" => "",//设备版本(如:4.0.3)
    + {2 t) D& [1 U+ g4 f5 p
  101.       "latitude" => "",//纬度0 D5 v9 N+ f( Y, k
  102.       "longitude" => "",//经度( C0 a$ C, j- h0 e8 b" @
  103.       "uuid" => "",//设备id7 o5 x8 A; \: p( C
  104.       "zone" => "",//请求地区
    + i' J7 r: G  Z. h9 H! L5 f
  105. );9 ~5 _3 R, g4 k9 y
  106. $paramstring = http_build_query($params);
    9 Y) |# a9 _& H. v
  107. $content = juhecurl($url,$paramstring,1);/ g' A6 A# l0 \* [+ W
  108. $result = json_decode($content,true);
    7 G6 b% ?( q9 y8 o5 b( l
  109. if($result){8 N9 H- `0 w. j% h; G
  110.     if($result['error_code']=='0'){
    0 E9 w9 r4 v! |) U0 s& H! a
  111.         print_r($result);
    : [1 e( F' Z. }( L/ c5 o$ e
  112.     }else{  V0 F3 u  d7 G- `4 I$ o
  113.         echo $result['error_code'].":".$result['reason'];
    * F& H$ X" w9 {$ S& Q
  114.     }) _' ?2 z1 P7 w0 ~* `0 j
  115. }else{3 Y8 l$ O" W, a& a' ?* f
  116.     echo "请求失败";- K5 }# L% @9 C- \/ E
  117. }! B7 B7 E: R5 ~. r$ ]9 o" [* j
  118. //**************************************************
    9 @, b* {' C, w. `6 a# @
  119. 3 |% r6 H( W: R" J
  120. 9 f! \2 x* E6 V7 t

  121. ' q% ?/ G- C+ X* i

  122. , B4 J' d" u! P" W, w, D

  123. - E) ], A  P; G! j0 e0 G/ t, q
  124. /**8 Y2 |3 Q* J" V+ b& t
  125. * 请求接口返回内容
    . ^9 P- w% `+ o0 x
  126. * @param  string $url [请求的URL地址]
    4 L  r8 F6 o9 p7 @/ b
  127. * @param  string $params [请求的参数]
    , J0 W% [/ R2 K# k1 k8 m
  128. * @param  int $ipost [是否采用POST形式]& X1 o2 L1 I4 E
  129. * @return  string
    - z. p, m# u+ H1 h# V6 n6 S
  130. */
    : E7 L/ h8 U( O0 N
  131. function juhecurl($url,$params=false,$ispost=0){0 d0 Q* ]- k' q: k5 C
  132.     $httpInfo = array();0 l6 t3 B" Q- b
  133.     $ch = curl_init();3 p3 {" t" Z6 P) m: {

  134. . v$ j2 c1 S  ~" p0 U, Y  j
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    ) O, q- o+ g' w# t1 W
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
      C4 ]- o; u' n6 z( o8 a
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    7 _, B% B& @( l) N' q
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);% ?2 x8 ?+ t, e3 O
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );& `5 h' a. v- ?8 s+ \; \% E+ Q
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);6 I/ B6 I( j2 r" {
  141.     if( $ispost )
    1 y' x7 w! R! B5 b- o% P) u
  142.     {: ]7 v$ n/ W. ?0 h0 f0 S& ?2 D
  143.         curl_setopt( $ch , CURLOPT_POST , true );& K2 {' F( ?9 q3 u0 I1 {8 {
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    1 Y9 ]; d" y7 \: `2 `4 P8 c
  145.         curl_setopt( $ch , CURLOPT_URL , $url );
    9 }& S0 o1 D0 M) i* n" ?
  146.     }
    % x6 P* l' h0 x
  147.     else
      L4 Y/ S0 ?! K( J+ P" k
  148.     {
    ' h) b7 ?5 K! M, A" ~
  149.         if($params){$ E3 l$ A. {( E% ]
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );1 n' b+ H) L5 c0 N+ {
  151.         }else{3 l" z- _' f* h: B/ r1 w) }
  152.             curl_setopt( $ch , CURLOPT_URL , $url);% F, p" O; g: Q3 n- A: g8 w/ O' ~
  153.         }, c/ B( ~3 C" U+ l) }
  154.     }3 [" a/ L, ]: ^. U1 U9 i
  155.     $response = curl_exec( $ch );7 |+ d/ O/ L$ |& s3 g
  156.     if ($response === FALSE) {) v4 i# f0 i4 S6 x+ W" l
  157.         //echo "cURL Error: " . curl_error($ch);" l, `0 R$ Z. |# f# s: Z6 P+ G
  158.         return false;+ d5 `* `- ~8 A, P) u3 m
  159.     }; ~/ h% A  f7 l6 ?( y
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    3 Y& ]5 C4 V' m& N
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    2 S& P5 H& r& }4 P2 ]7 r
  162.     curl_close( $ch );" j% D2 @! A: }3 h7 t$ Q' {5 h
  163.     return $response;! A2 m! O+ c/ b
  164. }
复制代码

; J: p: r6 ~1 o+ P0 S6 u3 D1 U# Y
  g' P- ], U- \* [
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-19 23:41 , Processed in 0.118346 second(s), 21 queries .

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