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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
# o0 A. t3 N) W1.添加商品信息1 R  r- m) ?' m, B+ l
2.添加图片
2 f& Q+ v# v, d- w# K$ g* ]3.查询所有产品
+ n1 r8 p4 @: F' J( ^1 i4.查询某个具体产品信息# \7 ?5 c4 \8 o  l% u1 E( V
5.删除某个产品+ |% ]6 Z8 v# M- b
6.删除图片. \- y& e3 s& f: ~6 e5 X
7.图像识别
. j7 P' w/ {! g  M+ p% d8 w5 B, L; ~) V5 L. C% |. w+ W
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey8 q! h7 e8 o5 S9 u0 L: Q8 x

! Y0 c/ k1 B2 r- NPHP示例:
1 {9 n" \; I; _5 Q( j: k, Z
  1. <!--?php8 N5 T; Q# y: R
  2. // +----------------------------------------------------------------------
    & o5 W# U/ b1 r8 w3 Z
  3. // | JuhePHP [ NO ZUO NO DIE ]5 A5 Y3 n2 T1 ?3 `. {" a
  4. // +----------------------------------------------------------------------8 I) z/ S% A3 N& e$ _
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    " m3 D; \! E; z2 w$ D( z5 l
  6. // +----------------------------------------------------------------------3 G: a$ _7 c' u; D( w% _% ]; [# T
  7. // | Author: Juhedata <info@juhe.cn-->
    7 L8 K2 T- A; F- [! S7 |
  8. // +----------------------------------------------------------------------
    # b6 E; }) s' F8 k6 d' h: W; \

  9. 1 P5 F  c# [( Z4 Z1 ?: o, p7 _
  10. //----------------------------------, G' A& g! K2 k
  11. // 图像识别调用示例代码 - 聚合数据4 A+ L* C7 t+ F9 [, _4 a
  12. // 在线接口文档:http://www.juhe.cn/docs/117' T6 f% \7 Y0 N' z  c4 @0 Y9 K
  13. //----------------------------------
    ( ?! l3 p% q, y9 `: a( E

  14. 7 `( Y0 O  N6 q8 F/ u
  15. header('Content-type:text/html;charset=utf-8');
    ' r1 J: e$ t9 X6 Z! Y1 ?  ~

  16. * k+ b. d  L) n

  17. ' j. l" y) ]/ l
  18. //配置您申请的appkey
    $ o5 K) V2 w2 e$ ]+ t8 v
  19. $appkey = "*********************";
    8 f+ n/ V1 r9 m
  20. ( ^0 [5 L/ N$ X4 @

  21. : L1 h3 G3 y" t

  22. , t: @: s$ {5 l
  23. ' o: [; z6 Z7 w  ~
  24. //************1.图像上传************  G- j$ i# ^3 w& }
  25. $url = "http://japi.juhe.cn/image_recognition/upload";; |  T) n3 h9 v3 P0 z+ g6 U4 ]4 c3 O
  26. $params = array(
    1 |- l) Y5 Q( ^; q  X
  27.       "file" => "",//上传的单张图片
    : x5 ]) o/ L0 k
  28.       "key" => $appkey,//APP Key
    / k( |0 M) I& Q
  29.       "pname" => "",//包名
    0 y" B& U, ~; m' n8 j5 B
  30. );6 g1 Z& }0 d4 t" O3 y
  31. $paramstring = http_build_query($params);
    1 Z1 o! ]3 @" d: d4 u# u
  32. $content = juhecurl($url,$paramstring,1);& T. s6 a$ i) M0 O
  33. $result = json_decode($content,true);$ K9 i1 V1 R2 X
  34. if($result){
    ; k& u+ j* w* V) S% n5 I) g1 X
  35.     if($result['error_code']=='0'){+ C% u7 ]% S2 v' n8 {1 h8 h4 G
  36.         print_r($result);6 u) M' Z- p* ^7 u1 [, m3 a
  37.     }else{0 f6 b/ q" a, B* I
  38.         echo $result['error_code'].":".$result['reason'];
    / ~. Y4 l; L: F" f) j0 ]
  39.     }* w0 H6 ^, ~6 ?. O; |& Y+ F
  40. }else{
    ; `* I- r2 O$ h# h) p
  41.     echo "请求失败";
    - z  a& w$ m  D
  42. }
    / z# s% k; I+ R* ?, X! g
  43. //**************************************************
    5 z  e+ M+ U& t
  44. $ K( K' }0 P$ g3 w& f. T- J
  45. & V0 l$ p4 ]) ~+ q4 h2 D
  46. # K) q* V# O  y" |2 m, t+ [, h

  47. # @+ Y% D$ Q6 i3 X
  48. //************2.查寻上传图像信息************6 f0 e8 w  c" x. k  N! |) w
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";. ]' s6 w+ B2 A( I2 _0 ]
  50. $params = array(+ F# ]- r# ~2 f* o8 O* a  _5 P
  51.       "key" => $appkey,//APP Key
    5 ?! y2 a& g0 T" X- m) @
  52. );
    2 p, w6 V" T( k* B$ J$ [
  53. $paramstring = http_build_query($params);
    2 B* U( M. B" X# @
  54. $content = juhecurl($url,$paramstring);! \. A. `% j5 Q, b' o2 }8 G
  55. $result = json_decode($content,true);
    7 d6 l% s6 }# f: U
  56. if($result){3 O& {5 I2 y6 c) e* p$ U
  57.     if($result['error_code']=='0'){! Z& ~* d; k/ }( @$ h) w1 z/ h1 I$ |
  58.         print_r($result);$ I* |- c8 j% M  F2 f8 E; Z
  59.     }else{& K. c# O( K* A# v
  60.         echo $result['error_code'].":".$result['reason'];
    6 G" o0 U3 a: \: {5 z+ t$ x8 V/ ]
  61.     }9 ]+ O6 O5 ]! ]' r, X
  62. }else{
    & s1 F' R( y+ i2 ]# @
  63.     echo "请求失败";
    0 U3 |1 j$ i7 F' b+ U( T. ~7 i
  64. }$ F  a0 h* o# ^1 y% M1 v+ w2 ?
  65. //**************************************************
    9 }. `5 q, |8 I- x+ d2 N

  66. 1 }- r, P) I. W6 y4 d, f( W) [
  67. # D" Q$ R. G: h7 j5 _% }* Y
  68. , X0 A) K# t0 R2 u0 e
  69. 1 Y8 R+ `) U# z6 u, p
  70. //************3.删除图像信息************, E0 B7 M$ R/ O0 o
  71. $url = "http://japi.juhe.cn/image_recognition/delete";, z/ w- R4 Q" w
  72. $params = array(
    " H# H& D2 q; m6 ]) W) P
  73.       "key" => $appkey,//APP Key
    ! K. z2 i5 H/ y1 l* S$ y
  74.       "imageId" => "",//图片ID! S; ]8 D3 \- a" s- V
  75. );* Y  Q$ d1 L/ y1 g+ N) X" Z
  76. $paramstring = http_build_query($params);
    9 X1 H7 u$ `" y4 c9 J) k9 `
  77. $content = juhecurl($url,$paramstring);, s4 r  j) n/ y% ~
  78. $result = json_decode($content,true);
    $ P6 t( S3 ?; i  k
  79. if($result){# ^& k. t( L  F6 k" X* L
  80.     if($result['error_code']=='0'){! k6 b. T* \/ L7 G3 l
  81.         print_r($result);; M) w7 W+ l& x4 |
  82.     }else{. X' e$ ]7 w4 }) W
  83.         echo $result['error_code'].":".$result['reason'];
    ) ^$ J, C- F. p: ]( S3 E
  84.     }
    , t3 T; ?" w  J2 v
  85. }else{
    9 H/ o5 H2 _! j
  86.     echo "请求失败";
    ( _8 F, P' g% x% Y
  87. }
    8 a, Z3 j1 v5 B% O6 J' l
  88. //**************************************************, m9 M/ D! x: ?% T( }6 Z! q* z

  89. % w# t' X/ B9 Q: m7 I# @

  90. : R7 U0 i+ t: |8 \, r9 N( `

  91. ' {, F7 z  d0 N- W

  92. 1 m: A2 L; @& R+ k. {
  93. //************4.图像识别************
    / T+ `: q6 E$ S' g
  94. $url = "http://japi.juhe.cn/image_recognition/check";6 v2 f5 f3 f# \
  95. $params = array(6 H' m9 f+ T2 P9 Q' V
  96.       "file" => "",//上传的图片
    , b) X- S9 [6 ?
  97.       "key" => $appkey,//APP Key" t" B. z3 |2 L
  98.       "pname" => "",//包名
    + [. }, ~' L! Q& G. n! [# {
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    9 }1 Q5 y% ?, o0 @  R
  100.       "device_version" => "",//设备版本(如:4.0.3)& h. l" b  f( R2 @' P
  101.       "latitude" => "",//纬度
    * X* ~0 m( M  [& L- @# I$ I! W
  102.       "longitude" => "",//经度2 A* W- Y, N4 @6 F: ?; w7 A
  103.       "uuid" => "",//设备id
    # S$ }9 q% I# l1 r# B5 R
  104.       "zone" => "",//请求地区: B( E8 t) P3 ~+ S2 T) T  B$ G5 A
  105. );
    * F; }& X( [' Y. P# F# S/ F
  106. $paramstring = http_build_query($params);
    ; O$ G  P/ N1 u2 Q: j! V; K
  107. $content = juhecurl($url,$paramstring,1);& R$ k8 J9 d( x4 p( j
  108. $result = json_decode($content,true);# x# F$ M! b' \2 @  Z4 t( V& p* O
  109. if($result){3 n: ]/ T# i% U7 S
  110.     if($result['error_code']=='0'){
    9 G( L+ [* m" G: E2 j! b8 e: k
  111.         print_r($result);
    , M( {; o+ [2 A6 Q  C8 R  B* N
  112.     }else{. s& U$ D( z) @
  113.         echo $result['error_code'].":".$result['reason'];3 I+ O( Y% i5 U$ d0 P
  114.     }
    * M$ z, ^* `8 c( B( b$ \# p9 d
  115. }else{
    / q" p8 a) \! B6 R1 w' @# y& n4 K
  116.     echo "请求失败";) |! j  \0 [4 M
  117. }9 _" r* Q) B* G5 a% N4 y; ~' w5 ~
  118. //**************************************************2 t5 Y1 g) g% \& X

  119. 1 W) l" k, t& j) S: ?7 c& a3 y3 N; m+ X. d
  120. ' [/ T0 X  @, j7 D' n0 Q

  121. ; F( k/ H3 s( [+ I( M
  122. - C; j) I% u- k7 Z5 U2 S

  123. , Z% w( y) r+ r1 x) y9 ]
  124. /**( F# f  U) \& D8 c0 y5 u
  125. * 请求接口返回内容' W, `: }- X4 W* s2 _/ c
  126. * @param  string $url [请求的URL地址]/ Y" l1 _' H$ W3 b
  127. * @param  string $params [请求的参数]4 x# A1 j6 o$ c9 F; S
  128. * @param  int $ipost [是否采用POST形式]
    8 q3 x1 U# d( I0 h2 y4 }
  129. * @return  string
    9 d( o) G$ k. K: c8 n
  130. */
    ' ?( }, y6 ^( P$ {
  131. function juhecurl($url,$params=false,$ispost=0){
    4 e  Z9 N. r8 C4 o
  132.     $httpInfo = array();5 H/ A8 Z9 [8 j. V# F1 _+ P% J7 e
  133.     $ch = curl_init();
    # p2 j/ q( a3 I
  134. 3 x2 D7 t8 U! {, {5 r
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    4 R; b7 g. H, ^& b* S
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    & {! a/ ]3 l1 B! Z  W+ X2 g
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
      P5 u* C1 S9 f& P4 N* W
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);$ e  f% b0 c; L. r& `7 B% r; H
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    . T$ A/ _4 f* n' p4 ~: S
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    ' z: |; N9 M9 X8 [/ Y! l
  141.     if( $ispost )
    $ F! ^# r( E4 s- T9 y% W& r3 w
  142.     {
    & }' ^- u; L+ [- x7 K% u
  143.         curl_setopt( $ch , CURLOPT_POST , true );# B% y0 n& C& J, j) H
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );/ {  ^, n3 _" H4 D+ u% `) t
  145.         curl_setopt( $ch , CURLOPT_URL , $url );% @1 V3 l- L9 R5 P9 |; l
  146.     }  _- c; B7 @* V0 w5 Q' K
  147.     else
    * t% ^/ ^, G5 ~2 z
  148.     {
    3 w; P% v# B+ r- @5 f$ ?
  149.         if($params){9 k. b# F* M9 n. ]  o% p4 {7 Z
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    7 k8 k# {3 Z( j$ s3 `/ M7 k8 }
  151.         }else{1 X$ V$ R  B+ z
  152.             curl_setopt( $ch , CURLOPT_URL , $url);% Z. I! \/ R7 i: ]* C; @2 q
  153.         }( r0 e/ k4 R0 z, \5 [
  154.     }
    ' |; e: [8 I* G3 _1 u3 `! X
  155.     $response = curl_exec( $ch );! J; j7 h* p  \$ d+ \! Z# `
  156.     if ($response === FALSE) {) e! L5 b& l) ?: s4 ?) [
  157.         //echo "cURL Error: " . curl_error($ch);7 h1 k8 m0 Q0 G- Y
  158.         return false;1 \  C2 s4 B( T: T5 G: y5 v
  159.     }
    1 a. p2 a) }1 P3 |" I0 S: ]/ w' \
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );( g. K( O6 Z2 H
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    0 b; u" x7 H" F! [: U
  162.     curl_close( $ch );
    * }. S: `2 I( y. k
  163.     return $response;
    " ^5 x6 A  T; d6 ^
  164. }
复制代码
9 L( ^9 p: N$ I" F5 p. T% g: d

6 z( }8 p% d9 v* p
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-19 21:50 , Processed in 0.128179 second(s), 19 queries .

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