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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
) l) s0 @" L2 ^" `1.添加商品信息
" s7 V: H3 ]3 Q% X& p3 X1 N( r" ]# f5 w2.添加图片
$ \4 z. V3 V( H" H  s9 n3.查询所有产品
: e3 b- w7 I' R- b* |" @4.查询某个具体产品信息
( g1 V0 {, f9 N/ ?' ]0 K# J5.删除某个产品- u# C  L" y  F* w: Q4 R6 n3 J
6.删除图片4 q1 M! O5 O$ m  l3 k- E
7.图像识别% C/ J% x3 c, B9 I2 d: H
# @: p* N5 b; t/ J8 o
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey+ Z' ?( S( I1 O( o) S" C
- [. A: z- r8 t8 f, ]/ m0 A
PHP示例:
/ @& y0 p7 e$ \. n3 w
  1. <!--?php
    $ h8 ^$ W+ W% |* d* D
  2. // +----------------------------------------------------------------------5 I" M4 x/ T4 R! K2 q0 F
  3. // | JuhePHP [ NO ZUO NO DIE ]" J/ G4 r2 h: \( F
  4. // +----------------------------------------------------------------------# b: w, v. {( b2 K
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved./ [% C4 X  {; {; D4 z
  6. // +----------------------------------------------------------------------! p# k' X; v& N; i- R- w+ q( g
  7. // | Author: Juhedata <info@juhe.cn-->4 C8 ~1 F0 r0 t7 M- {4 J9 q
  8. // +----------------------------------------------------------------------. i4 M# y3 \8 X& L& v3 a- m

  9. * V7 O  {0 R5 e' H, v( r
  10. //----------------------------------: n( [- `/ E3 v; {9 k1 u
  11. // 图像识别调用示例代码 - 聚合数据
    7 x; H/ y- K2 @3 |7 U2 g- d2 T* e
  12. // 在线接口文档:http://www.juhe.cn/docs/117
      d6 X4 d: W. j
  13. //----------------------------------: B, q! D6 V7 s* Y
  14. * \9 Z* J! l# D0 k! d1 v
  15. header('Content-type:text/html;charset=utf-8');3 T9 b( k* t$ F1 {& d6 r" F- a# E5 I! Z
  16. 1 C' M& d0 m. I0 g

  17. ' D6 w( I" s3 M5 R- }
  18. //配置您申请的appkey, D8 p% @9 n5 W6 J4 ^; y
  19. $appkey = "*********************";
    # \* _# a8 B3 g0 a2 |( R& o

  20. & V1 q" ?- Q5 z% e- O9 @% J6 O3 p

  21. & w6 ]4 `1 j3 |* H2 o2 o2 N$ ]

  22. & j9 m" z" H4 M& f* _& c! ^( I4 \

  23. ; }% k4 X7 u% T* P+ e6 @3 a/ \
  24. //************1.图像上传************; u$ \/ o& N6 i+ t
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    ' w# Y( k5 v5 m- k0 d( G* \
  26. $params = array() ^7 ~& i# p- c* K8 H
  27.       "file" => "",//上传的单张图片4 H9 `2 I3 P* S& E) N; w) P4 k- h
  28.       "key" => $appkey,//APP Key
    2 o, \/ s' C3 W8 {4 G1 E1 `+ f
  29.       "pname" => "",//包名$ p" Y4 }( c, C0 r5 o) e/ ^
  30. );
    , r8 m8 {" o1 |! A: l) D9 G
  31. $paramstring = http_build_query($params);9 K5 d6 D+ z, s' o1 X
  32. $content = juhecurl($url,$paramstring,1);
    & i7 e- ?8 ]0 s( P/ {
  33. $result = json_decode($content,true);" E. o1 j( S5 |  i0 X
  34. if($result){6 `+ D( v0 x0 V
  35.     if($result['error_code']=='0'){7 F  L! `0 Q5 N4 B
  36.         print_r($result);3 E( `7 R, G) r& s0 R" w
  37.     }else{
    & n( @, E! q! w
  38.         echo $result['error_code'].":".$result['reason'];6 S2 H( |  ~) b: M3 s
  39.     }
    % W9 |+ P0 j4 d
  40. }else{
    9 f3 X' g2 |! t: S5 i( C
  41.     echo "请求失败";  T: h$ L6 L3 E4 }/ ~6 m# [
  42. }; S. }( g2 @; ]% i1 _2 P2 C8 j. M( g
  43. //**************************************************
    % V1 z/ [+ P; f

  44. $ m, B8 P+ J# v0 q" w1 b

  45. , s4 X. F/ |0 i* c1 R) z
  46. 1 e4 C! ^' Q" z, x: U8 c$ Q+ x

  47. % l/ c4 S0 y. J' `4 p* c
  48. //************2.查寻上传图像信息************
    ' Z8 j. F# x4 o& _4 C3 ]
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    , Z8 H+ |4 ]" s
  50. $params = array(
    1 Q& ?! E/ b0 P' e+ n$ @
  51.       "key" => $appkey,//APP Key
    3 T2 ]& _. l# m3 f* z. T' v" f
  52. );
      I7 x5 b1 @- A! s: V
  53. $paramstring = http_build_query($params);' d) A8 d; b9 |
  54. $content = juhecurl($url,$paramstring);0 O, N4 B( `$ M7 N
  55. $result = json_decode($content,true);
    8 l- r/ Z6 B' ], J* ]3 g: y: w
  56. if($result){
    $ b! A) u6 b% I- F
  57.     if($result['error_code']=='0'){, F3 a. x6 e  a: i4 Z
  58.         print_r($result);
    8 y+ V2 q& n$ Y9 j! {
  59.     }else{' L. {4 \% O* V& Q! n+ n
  60.         echo $result['error_code'].":".$result['reason'];
    " p# J! e2 q7 x3 @9 }
  61.     }* J0 k$ o2 z2 H8 r* ?+ u1 y2 d1 K
  62. }else{0 }- Q  x( J. p) k- K
  63.     echo "请求失败";
    9 n5 H5 r3 Y3 O
  64. }: `4 y  @7 u" {
  65. //**************************************************
    9 q/ I! D# o& x
  66. 6 g7 p, H0 [1 s, X+ ?

  67. 7 I/ W0 ~4 Z. S6 ^0 [! M/ O

  68. * y, q- k( m4 C1 g# t9 E& n3 D
  69. ' V# P' C! }, y5 U& Q4 L
  70. //************3.删除图像信息************* M; y( W# r, j  ~, `: p! U# T
  71. $url = "http://japi.juhe.cn/image_recognition/delete";1 c) G/ \. L0 ?6 `  o9 A$ [# y
  72. $params = array(
      H$ M. U# _" ?6 G1 A
  73.       "key" => $appkey,//APP Key0 A9 h! E2 S, n5 t
  74.       "imageId" => "",//图片ID
    7 J7 x: A) I3 }0 y2 k% I8 K! u# t
  75. );' H3 Q: u7 v' m2 {# V
  76. $paramstring = http_build_query($params);# k. }* h4 E% D
  77. $content = juhecurl($url,$paramstring);0 r. J* w* V* j. N% G) H
  78. $result = json_decode($content,true);
    / ~$ q  l& `# F/ f% A* J% k, R
  79. if($result){
    9 E1 q+ H, {1 T
  80.     if($result['error_code']=='0'){& p0 H) ]& k5 M) P% E
  81.         print_r($result);/ f4 J( i( D" m- d! m$ J, o
  82.     }else{
      P5 q9 k, ?( B) ]
  83.         echo $result['error_code'].":".$result['reason'];
    / y. J8 P9 S, z1 v# E& A/ _3 q
  84.     }
    . d* }5 j. E! t2 `0 X
  85. }else{
    ) S  b; f$ }2 `6 h9 g
  86.     echo "请求失败";
    ! f8 Z' m4 T, D- c# z4 b
  87. }
    9 P5 F: W* y& r' u- V  C3 R
  88. //**************************************************3 P# N# ?% ]8 R4 T

  89. ' h: H- {: w& y  ~
  90. " d  k& ^! p+ r: b5 S: ~" A7 y" q
  91. $ r( O7 z  E# B7 j9 o3 ?  y# a8 V6 I, H* x
  92. 4 F& ?5 S/ n. |7 d  z
  93. //************4.图像识别************
    , X5 v5 q0 O" a1 c1 W, N( G
  94. $url = "http://japi.juhe.cn/image_recognition/check";* |' b) K0 N( j1 K$ R3 V
  95. $params = array(5 M& F- S) O2 G4 {% G- T6 M5 U
  96.       "file" => "",//上传的图片% Y: \; y9 r% b! M2 e( d
  97.       "key" => $appkey,//APP Key
    ; |4 `% z" E7 w" |; m
  98.       "pname" => "",//包名/ E( G' `. ?" {& x# z( @/ N" ?
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)+ v+ E; |0 c- N6 f9 s' ]
  100.       "device_version" => "",//设备版本(如:4.0.3)
    ; ^+ x) ]+ @  N( s3 D) M
  101.       "latitude" => "",//纬度
    # T" W: v2 C2 V$ o% o1 H
  102.       "longitude" => "",//经度5 u# x( k) @" U. I
  103.       "uuid" => "",//设备id' r+ J  U( n7 Y
  104.       "zone" => "",//请求地区
    . n, C5 O1 H0 V0 P9 i( V
  105. );
    + Y  p4 U8 \8 s( q1 E2 ?
  106. $paramstring = http_build_query($params);
    $ `! T# {5 R( K! t, c5 q) k# |
  107. $content = juhecurl($url,$paramstring,1);
    $ h: y" `% [. D9 R7 ~  V; ^- D
  108. $result = json_decode($content,true);
    ! F- q7 P3 v4 p) o
  109. if($result){
    2 w; U) ~) `5 i, @
  110.     if($result['error_code']=='0'){! ?/ B: R  J0 Z) P' J6 X% l: s! k
  111.         print_r($result);
    " t2 m; s- e, w+ h2 W
  112.     }else{
    0 f$ e1 \7 ~7 R) P: |3 x- p8 m
  113.         echo $result['error_code'].":".$result['reason'];& {6 r+ p7 Z8 S+ l4 l
  114.     }. i1 a4 \/ m" [3 Z
  115. }else{
    & P! }  [8 c3 V& p8 |+ C7 V8 p
  116.     echo "请求失败";( k: b+ p# d# w! q
  117. }
    ( A% o0 {4 @. |) P" Q
  118. //**************************************************
    8 y  U9 \9 c5 Q( v* W* g
  119. 2 G# i. f# k5 h  J+ R' k% d& {* {
  120. 6 n6 n& X6 [1 w6 N: N# `
  121. # }. u/ e0 g" T8 F, ?+ t
  122. . Y4 L5 [) l* V# x- G

  123. : T& `" K! t4 M0 b3 b
  124. /**
    " S- {" J0 Q* t; v
  125. * 请求接口返回内容
    ; H) X1 J" Y! _7 `/ y% f
  126. * @param  string $url [请求的URL地址]# G4 b  D, U+ W4 a# p
  127. * @param  string $params [请求的参数]
    % o' X3 I) `, d) a* E
  128. * @param  int $ipost [是否采用POST形式]/ D, [' L) ^) _* P( m2 z, ?' Z
  129. * @return  string" X, v: Z; y' p9 f5 K  n
  130. */
    0 e  L7 v( Y2 W# e' O) {
  131. function juhecurl($url,$params=false,$ispost=0){
    & t3 v. a2 C% ]0 w  c7 ^! {
  132.     $httpInfo = array();
    , l# s1 E) {% U8 H2 U7 F
  133.     $ch = curl_init();
    : k5 B4 V% [, z+ `# E6 \( S
  134. ; {) A& s( P4 b. T" O7 n
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    ! S. C4 V" D# ^4 T. {
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    ' G: F# K6 {. D% z
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );5 ]1 o. R- F: F1 Y: D
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);# G) a9 V6 v0 {1 s8 r
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    5 p$ x1 ?  ]) q, D( Q
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);6 z  q: ?, @9 ~" p' b
  141.     if( $ispost )
    % u2 o8 |( g# h: b4 X
  142.     {
    ' G1 R/ y. P! [- D( b  V" `/ l
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    : ]9 i! g; }, z. q  Y
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );6 `" r0 d" S( s+ `4 c7 [
  145.         curl_setopt( $ch , CURLOPT_URL , $url );8 J; o0 f3 ?' @8 |, @: L
  146.     }9 g5 S+ n, Y* q- S0 o& y
  147.     else! s$ O- s! H6 ?& \6 ^1 t4 D
  148.     {
    8 l( ?0 j# D6 e2 K" m
  149.         if($params){( t1 @8 J, z+ o  \6 y1 H' v* a
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );& K8 {4 L5 V$ \7 v& {) {
  151.         }else{; X0 k/ n) X% j7 Z
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
    2 ]2 t" U  A. K2 F" k. r' `
  153.         }
    9 ]% A( E4 L4 S/ |# }/ ~, n
  154.     }
    $ n" R+ g, \, d& _4 T% v( i
  155.     $response = curl_exec( $ch );
    2 u* @2 X. l' V. \
  156.     if ($response === FALSE) {  |' x( _8 L4 c) j! I
  157.         //echo "cURL Error: " . curl_error($ch);
    - ?: w7 K7 X# ?( D2 j0 M
  158.         return false;' x( I* E3 X2 J) J$ t6 }
  159.     }; ~0 A9 S2 X: {% R* ^3 d) q
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );- l, S& l: ]+ H- |
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    ' `7 M4 i5 E1 v3 L: {# R
  162.     curl_close( $ch );
    * z4 w& X) D* I: [( N
  163.     return $response;9 V0 }4 U- ?6 d( r% F7 c
  164. }
复制代码
; l) x4 z1 E8 R" ]& K1 G7 h
7 @: G0 c; n  h: X* _" C6 c
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-7-20 17:21 , Processed in 0.076760 second(s), 19 queries .

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