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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
$ M/ g' |! h2 P# ?' f7 Q1.添加商品信息4 [# j$ T; a$ U5 r# x
2.添加图片* @: ~- ]+ H! w3 `
3.查询所有产品! T* A8 [5 n1 c: Z* g
4.查询某个具体产品信息" o3 }4 q+ N! [1 c' [. B- s6 p
5.删除某个产品
! Y* l; _: L4 r3 |7 R- q% j6.删除图片( g3 L! i/ G0 D( H3 a
7.图像识别
) Q* y7 e5 H# B. L/ I- m9 p0 k
& R' K9 F% h+ v, O* R. d图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey
& _, p$ E% l! U5 _$ y9 B
$ o4 v5 H/ k4 Q2 MPHP示例:
6 A& `9 H/ W5 D2 N$ z& |
  1. <!--?php; m4 v& [' d+ J
  2. // +----------------------------------------------------------------------
    8 D, F) z: b( T+ o1 i# s
  3. // | JuhePHP [ NO ZUO NO DIE ]! D3 ~, i6 a  o6 _& y1 E8 B0 n7 c# R# N
  4. // +----------------------------------------------------------------------& j5 ]7 J+ v" e$ Z, {5 H
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.- a- T  q2 v; G6 F; B
  6. // +----------------------------------------------------------------------( @" ]; n; ~0 P" E% p$ u# t5 l
  7. // | Author: Juhedata <info@juhe.cn-->: j$ v2 E( N* ?* y: g) I
  8. // +----------------------------------------------------------------------
    & A2 w; H' U4 s# S) l* f
  9. 1 L0 O3 ]7 v% t9 C7 ]2 U7 p
  10. //----------------------------------
    7 D1 U" |% h" g4 H* M  x: D
  11. // 图像识别调用示例代码 - 聚合数据% W5 O% V  i: n
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    ( _: w. e7 j1 |
  13. //----------------------------------
    4 }8 ]) C1 ~% A
  14. 3 j  O7 L. \8 Q( u' j7 U0 w
  15. header('Content-type:text/html;charset=utf-8');
    $ h3 g7 w) W1 S1 F, o2 q3 d% K" J

  16. ( L; x8 |2 f6 s0 G+ ?6 c! R4 M
  17. ) a7 J2 f' e) r0 W6 Z
  18. //配置您申请的appkey
    & c% o3 i. |: v1 z
  19. $appkey = "*********************";% a9 S. \1 [2 E) h! N, d, l4 @

  20. 7 l0 n" x, `5 Y1 E
  21. ( b% o7 k$ {: j' `

  22. & |: y2 t1 T2 b/ Q% @8 w
  23. # l6 u7 g/ }! c+ t
  24. //************1.图像上传************
    0 }. u" o' ~  m- i3 I+ F( J
  25. $url = "http://japi.juhe.cn/image_recognition/upload";: ^: e6 C9 n# i8 Q4 p
  26. $params = array(
    - I% V# g5 z$ {6 s" G3 o( A
  27.       "file" => "",//上传的单张图片
    ( G* Q: H2 S7 S
  28.       "key" => $appkey,//APP Key  n  K% U% h  F( H7 I
  29.       "pname" => "",//包名: R1 B1 j! s, h
  30. );
    6 T' H5 \7 M* V: W% w
  31. $paramstring = http_build_query($params);
    ! m# F  O  y$ `, f: s+ Z( T4 \
  32. $content = juhecurl($url,$paramstring,1);
    : J& N. ^) V8 T! K) G
  33. $result = json_decode($content,true);; B8 B7 X1 l5 u0 K2 |
  34. if($result){
    7 ^7 h/ W6 G' f" P' g
  35.     if($result['error_code']=='0'){
    1 Y% s1 |8 n* J% O' }& r8 U9 ^
  36.         print_r($result);
    2 Z1 `+ e1 g5 F" ~9 Q2 P
  37.     }else{
    & m& G/ t. A& s3 v& E
  38.         echo $result['error_code'].":".$result['reason'];
    $ Q3 j' H* D0 M3 N
  39.     }5 \3 q. G* w+ y! N& F
  40. }else{! b, Y) @% b. z1 j% ~! C! H3 a* Q8 s
  41.     echo "请求失败";
    $ x6 G1 P5 w$ [- a0 t. [- ~
  42. }$ R/ v! p7 B  v. U6 @
  43. //**************************************************
    3 R; s5 N# V' a, Q, r7 E

  44. $ m3 G% k. W1 M, x! c* E6 o
  45. 9 _' a! a+ Y$ T' W1 `: F

  46. " b/ u  l: {. Q' ]7 z4 [
  47. 4 x7 n- M( v! a1 V" V% |- e8 W
  48. //************2.查寻上传图像信息************
    # x6 D' L- s$ E4 q. H* Y+ P
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";5 [. P* L( @+ Z3 e4 j
  50. $params = array(3 @* D* o% I, |6 D
  51.       "key" => $appkey,//APP Key9 r% K+ M* V$ F/ Z
  52. );3 ~2 E# h- Y8 ^, G: R4 P
  53. $paramstring = http_build_query($params);  V0 c, p% @. V  [
  54. $content = juhecurl($url,$paramstring);
    6 B; W% J: l' Y4 ~: @( D1 s7 M3 J4 l
  55. $result = json_decode($content,true);$ a, n5 _/ ^2 K& B2 ]) j3 r
  56. if($result){- N/ `, i6 M  h9 p3 P2 Q
  57.     if($result['error_code']=='0'){
    0 A  j' |; b& m- T1 J
  58.         print_r($result);% V! }1 v8 G1 c$ Y: o- B
  59.     }else{
    * f3 E% u) S6 W- ?
  60.         echo $result['error_code'].":".$result['reason'];+ n$ T6 {& d0 ~2 D( d$ U
  61.     }
    ; b. k$ O- W( d: G: O+ _9 C
  62. }else{* y7 G( {, z' a
  63.     echo "请求失败";
    & N- E$ h; X4 a) L$ q( T
  64. }; G) ?2 `  }# @) L$ T
  65. //**************************************************
    ; \" e/ A" d4 o) K3 G
  66. 7 I( p8 J6 o* {; S: p' A5 I
  67. 1 P/ i) x7 b. }6 z* T+ g: u
  68. " _. y, F$ ]* f8 ?

  69. 9 M3 X" ?! o) P5 l6 ]! S
  70. //************3.删除图像信息************
    ' H5 _$ z0 n6 r2 L  ~
  71. $url = "http://japi.juhe.cn/image_recognition/delete";
    ) b* T; b+ Q- _8 v7 X0 u. P
  72. $params = array(
    % y- Q4 J# }0 p* Z' q8 @
  73.       "key" => $appkey,//APP Key
    & M$ O* G' ~) Z9 a$ p' V0 K$ B
  74.       "imageId" => "",//图片ID
    % V/ P; I% s! }5 {
  75. );
    0 m. F- M5 C9 V9 E( }+ s( u1 Q
  76. $paramstring = http_build_query($params);2 G$ X; b& ~; I% t: o
  77. $content = juhecurl($url,$paramstring);( f  N0 D/ L" ^2 ^, z
  78. $result = json_decode($content,true);% @8 x( a/ j' E6 ]7 }' o3 l! w
  79. if($result){
    4 P% _* T1 F) C8 v0 z
  80.     if($result['error_code']=='0'){
    5 O1 N  f+ O" d' t2 l( y7 z: w  i
  81.         print_r($result);
      u$ m- s. Z! _) c
  82.     }else{
    . R0 n$ T& k" r# D
  83.         echo $result['error_code'].":".$result['reason'];0 q! `( |/ Z; W7 e' K
  84.     }
    % Z$ A2 B7 e7 l3 t( c1 f
  85. }else{
    : y- {( m  _$ z8 C! _9 i
  86.     echo "请求失败";- E/ V  h9 Z( q3 u) K( B
  87. }) O6 v5 q( s+ C, E4 L2 _" e! Y
  88. //**************************************************
    # y4 W# @8 w5 O5 F9 h
  89. ; L: h5 [% ?, x0 f$ {* z9 A8 a
  90. ; o% y4 f+ i; T4 p9 g! i$ Z& a

  91. 5 s) j0 I" P4 L  ?. C; E
  92. & G7 Z* J3 [5 P# f
  93. //************4.图像识别************: }) D& _9 E$ D4 x6 M( F% |4 x; j# t; B
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    ; }. {! C$ W9 p0 R
  95. $params = array(
    0 Z( X$ c4 D4 P
  96.       "file" => "",//上传的图片
    ' @% Z* A% {5 J. O& h( ?: W' ^
  97.       "key" => $appkey,//APP Key
    6 k$ m! j- ~8 [! K
  98.       "pname" => "",//包名3 [! n" |6 h4 Y7 u# p5 Z8 x- r- K
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    % G' i% H! F. j2 c. G$ A5 [! V
  100.       "device_version" => "",//设备版本(如:4.0.3)
    6 X/ c5 {, Z$ Q) r& e
  101.       "latitude" => "",//纬度
    # U) h# n0 _! P
  102.       "longitude" => "",//经度& l  Q0 Y7 N! a$ N2 s* |
  103.       "uuid" => "",//设备id" d* R/ P/ O! D9 T# u
  104.       "zone" => "",//请求地区
    7 h* y+ ]0 r4 N* G
  105. );- n& P* F8 V5 T; P4 |: Q) s/ D
  106. $paramstring = http_build_query($params);
    6 ]& F" z0 V% E- a: E" \
  107. $content = juhecurl($url,$paramstring,1);+ f: B  q* c& `
  108. $result = json_decode($content,true);- V0 y# J$ K; [; f# G4 ]
  109. if($result){: W: u5 z2 x. a& K! l% x& v6 n* M+ @
  110.     if($result['error_code']=='0'){
    2 t) d6 y- }) D/ r- G
  111.         print_r($result);& z% H$ f3 L. a# }$ r
  112.     }else{
      b  ~5 J  x$ D! t! y
  113.         echo $result['error_code'].":".$result['reason'];
    * _7 X, U2 x3 a
  114.     }
    / ^+ A% Z8 _: @: R& z3 t
  115. }else{8 T# L8 A0 Q0 Y
  116.     echo "请求失败";
    . n* D) L, {% n# f5 y) I, L
  117. }7 }( g/ ^) X  E1 t( F5 R
  118. //**************************************************4 j8 S. ]; p: f; ]

  119. " U" j0 ^+ ~" E2 k( c4 J% e  G

  120.   e8 U$ _. a" [5 L: o' F# N
  121. + v+ D$ G1 }! a) ^* r

  122.   `* L/ F) d! U) W

  123. : r1 U: ~6 [6 B) e! w
  124. /**
      X3 A. }5 |' m
  125. * 请求接口返回内容
    . h) T4 ~. U  W1 @1 Z( u& u& ~
  126. * @param  string $url [请求的URL地址]: e* A4 \% W2 n8 g( Z: o
  127. * @param  string $params [请求的参数]
    % a1 m- h& i! F5 [. O! W8 O
  128. * @param  int $ipost [是否采用POST形式]. k0 N5 F0 d* U
  129. * @return  string! z' }5 f) G5 b, U+ m8 R6 }
  130. */0 x  l% l3 m2 E# T. ?% W
  131. function juhecurl($url,$params=false,$ispost=0){5 Z( S# z% N. p0 Z2 f8 E6 F4 c* q
  132.     $httpInfo = array();
    6 @) u5 Q) ^7 R$ s* X, O
  133.     $ch = curl_init();
    2 d) {& B4 h# r; r6 l0 \

  134. 8 }6 {. M6 d" Q7 [9 O% X4 ]  o, b
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    0 F% w8 b+ k7 c. a3 y$ C
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    ( [6 d( w) }8 D5 \0 }  E" m$ R* F
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    , S3 G2 e: T2 V: _. y, @* Z
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    / ^1 U( q& c1 ^- v+ w' X- K
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    : w: B% |1 h3 C- b0 P  v! K
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    & }! |0 v% K! _% j/ [
  141.     if( $ispost )8 {2 L  Q' R3 e3 m- X* }! d. v
  142.     {
    2 R: a' {  \8 R" w
  143.         curl_setopt( $ch , CURLOPT_POST , true );% v7 N2 |$ v% a. @4 e3 U
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    2 ^$ |/ S! f' u0 ~
  145.         curl_setopt( $ch , CURLOPT_URL , $url );( G# `% T9 ]' R6 |; K5 U
  146.     }4 u' z6 v0 L7 I$ \8 G
  147.     else
    0 D- G8 j5 [+ _8 S. h& y
  148.     {4 v8 Z- F- K* U* ^# _* d
  149.         if($params){
    ) o' d$ K8 S& l" c
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    % N! Z: t, d2 A! Q/ m& ?2 j. y
  151.         }else{) X5 h5 r5 \" l
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
    5 h5 O# V* t$ b3 z
  153.         }/ \* g3 P& y5 Q" m
  154.     }
    ( d8 ^. O# s. r) c& `
  155.     $response = curl_exec( $ch );3 S0 a: G& K8 b: C
  156.     if ($response === FALSE) {1 l$ L2 _, }8 l
  157.         //echo "cURL Error: " . curl_error($ch);8 r# f( j1 n2 g/ Y- U" V/ R) A, v
  158.         return false;9 X3 g' y8 H1 \, h0 G1 x
  159.     }8 X! b+ [: {% _! O
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );6 c; h: B- \, e2 L* u
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    # d  T/ O% Q9 n% w' x, B4 E$ C2 V
  162.     curl_close( $ch );3 `4 d* S" v: d6 F
  163.     return $response;. ~: u! {) p, M" g- i" h
  164. }
复制代码
! R6 r' R+ _9 K) l2 G

" R( Q& H& E% D) s; v- m" {
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-8 04:09 , Processed in 0.121835 second(s), 21 queries .

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