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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。7 ^- N8 q1 h$ s* x
1.添加商品信息! J) G7 P1 k* H( W) O
2.添加图片& s( Y# f  ^9 L! K
3.查询所有产品
8 ]; y! O! n+ k, E9 u9 ^4.查询某个具体产品信息
' ^/ g9 \  `8 D5 @" I5.删除某个产品$ P3 b$ H- Z  L
6.删除图片4 M! U, q& x* q# h, }6 w
7.图像识别
: O0 U! P# [8 Z9 g0 ]' m% E- c! B2 L$ ]( k! q; \
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey
5 w0 Z( B% I% s$ _0 L* b7 o$ b3 o5 m) q8 T4 T: r
PHP示例:
) w. d0 P/ d# z- X
  1. <!--?php
    0 K3 U+ M$ _8 E( c4 G0 \+ o
  2. // +----------------------------------------------------------------------
    " S5 J+ X$ p/ V: Y# m* T
  3. // | JuhePHP [ NO ZUO NO DIE ]
    ! I. c* ^" q- |
  4. // +----------------------------------------------------------------------/ I" `/ ~0 G. Z; n9 l/ q) c& e: j3 Q
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
    2 d% w3 S8 p% @- T! D
  6. // +----------------------------------------------------------------------
    % Y) R% `; |" s  _( B- q, z  }3 l
  7. // | Author: Juhedata <info@juhe.cn-->
    9 a3 h% N3 K  S1 @! D) Y4 Y
  8. // +----------------------------------------------------------------------
    3 Q' ]2 A* M$ {

  9. 5 Y- L6 ~: W. N" d; |
  10. //----------------------------------8 i! \$ k; f- C# x2 U+ J2 {' v
  11. // 图像识别调用示例代码 - 聚合数据
    , g; |: N. U. J' I% x
  12. // 在线接口文档:http://www.juhe.cn/docs/1176 G4 w3 P0 a9 ]7 c" X9 v
  13. //----------------------------------3 w/ B1 q  s: ]" ~( t
  14. * g6 }" z+ t: s0 O, L
  15. header('Content-type:text/html;charset=utf-8');
    3 g' ~" I, o# k; e
  16. # {6 }# m3 X- G- `8 k. [, q$ s
  17. " R' X8 C7 j% y2 S% V7 N
  18. //配置您申请的appkey% x$ ^. i3 o. j2 T
  19. $appkey = "*********************";2 y0 @1 U% K& R$ j
  20. $ A+ k8 B# u* u& N

  21. ( E% C8 F$ k% U& W

  22. , V2 P+ Y0 M' M' B; w/ H
  23. " O. L7 V4 N/ w6 _% k7 B
  24. //************1.图像上传************% t9 D5 B% |( ~7 z
  25. $url = "http://japi.juhe.cn/image_recognition/upload";9 h1 \( V  `* t# Y
  26. $params = array(
    ( x9 H* {' }4 F* @8 V+ t0 P
  27.       "file" => "",//上传的单张图片: n% K: T$ Z' R6 N# ^) r2 k
  28.       "key" => $appkey,//APP Key! V; |7 K9 I9 K  n/ K* `
  29.       "pname" => "",//包名: V$ E9 O6 M) Y
  30. );0 l8 ^4 |- o0 Z3 Q" }
  31. $paramstring = http_build_query($params);4 V# }3 e* K0 I9 ^0 q
  32. $content = juhecurl($url,$paramstring,1);
    4 M( [1 A' K" D) v6 o0 F
  33. $result = json_decode($content,true);
    ; K  u! S4 c' L  B2 Z
  34. if($result){  B8 m% T7 R# v% S2 S9 r. ]
  35.     if($result['error_code']=='0'){* c) K# J  F" f. @
  36.         print_r($result);, Q- e1 v/ [. I. {3 ^( B
  37.     }else{
    * \; N  s9 C% M" k
  38.         echo $result['error_code'].":".$result['reason'];, N2 a+ ^- v/ P! j% I
  39.     }
    ! r5 N5 U. Q4 O/ ]0 s6 X
  40. }else{4 l+ l# ^/ c/ @5 M( g
  41.     echo "请求失败";
    % u* v& p4 t8 }  M
  42. }! m( P7 b( F3 t4 v
  43. //**************************************************% u8 y& E- n3 E

  44. - q7 `, l! q% }6 N# ~' R: H
  45. 7 M, X' p8 `! l
  46. ( z% h# c% x5 _3 e( D
  47. ' N8 [' K, a- i+ F% N
  48. //************2.查寻上传图像信息************* q2 i& l. m) i2 ?/ B
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    6 m1 k. r  m' U. y9 B0 z
  50. $params = array(; z/ F, f" N, Q# {8 J
  51.       "key" => $appkey,//APP Key
    8 x! V, X( }# E1 G4 n
  52. );( j% d. x' c( @4 c
  53. $paramstring = http_build_query($params);
    ' W2 z' {$ q% A2 [
  54. $content = juhecurl($url,$paramstring);( g/ Q' {# y+ r! p4 q1 y/ ?. |9 o
  55. $result = json_decode($content,true);
    , Z1 S3 h3 q! T, K; O. s
  56. if($result){
    - \% A* P  S' K( K# H
  57.     if($result['error_code']=='0'){. ]' z; D- y" w, I" A# y
  58.         print_r($result);1 R( V  c5 N! T: }$ ~" _3 T9 O, D& R
  59.     }else{% d: m# ^3 E  \6 {
  60.         echo $result['error_code'].":".$result['reason'];5 ~  K/ j3 I" ~4 O
  61.     }; v5 Y# @2 Z. f/ e. a
  62. }else{
    0 Y5 P% U8 ~( h1 E* U7 [
  63.     echo "请求失败";/ Q+ o$ ?, a: I/ Y; ?8 H
  64. }
    7 }# @! L5 X1 L
  65. //**************************************************
    5 y& _1 n5 x1 ?7 \) m1 E7 o

  66. 1 X/ q3 W' [8 o4 C/ C
  67. # g8 i* [' T( B8 Y! A
  68. * i, \) b! `% d! c
  69. " T  [0 w0 q0 z
  70. //************3.删除图像信息************
    ; Z/ ~+ G5 Z1 y
  71. $url = "http://japi.juhe.cn/image_recognition/delete";& }6 y4 [5 \0 O* m- r' I) w- D
  72. $params = array(
    5 \. S( z0 h! W! U
  73.       "key" => $appkey,//APP Key' a- y* f& H+ n0 u2 C; B
  74.       "imageId" => "",//图片ID
    6 Q9 p5 e( A- E  {9 s; o
  75. );6 [  N5 Y9 S! ]. G
  76. $paramstring = http_build_query($params);" u, I' ]$ R* w7 n1 n
  77. $content = juhecurl($url,$paramstring);; Z% s' L7 F. [
  78. $result = json_decode($content,true);
    / V3 @; B, V, M; K: \; S
  79. if($result){
    $ K1 C. J, @1 y! x2 ^  l. A
  80.     if($result['error_code']=='0'){
    " W4 k' b* }. n
  81.         print_r($result);) D: ?0 x" s! o5 N
  82.     }else{& Y4 R. ^/ P  {: W3 G3 W
  83.         echo $result['error_code'].":".$result['reason'];
    / p, k0 f$ M/ u. B
  84.     }) T3 x3 X* X8 j: d" H8 c, D2 _
  85. }else{
    4 j+ T) J& N- Z* g8 ^6 x. U
  86.     echo "请求失败";8 S- ]2 U$ `2 r
  87. }* e! i+ f6 R/ Y* |2 j# d
  88. //**************************************************
    $ [. H8 L& s( L2 W( M
  89. 5 \/ e- l  s0 b, M' H3 i
  90. . F) [9 L% U& O& ?7 w
  91. 2 l( Y7 U$ B5 e$ V4 `; e; a# ~6 x5 r
  92. ; B9 ~9 x+ h# |
  93. //************4.图像识别************
    1 x  G. {1 j! j- E% ?0 X3 g
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    4 N, a8 d, u" o7 F6 S3 `# \, E
  95. $params = array(
    2 h! ?/ S! d7 v  u  N
  96.       "file" => "",//上传的图片$ @( h. F! j; ]4 J1 ^  F
  97.       "key" => $appkey,//APP Key' M/ L: j% V% p$ i0 {0 r
  98.       "pname" => "",//包名
    9 D" E% c6 G  P
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)) U- L$ W6 @. Z9 p, Q
  100.       "device_version" => "",//设备版本(如:4.0.3)2 J& s: A2 [4 x7 g# V  r( ~
  101.       "latitude" => "",//纬度
    : s* G3 e7 ~! T" H, |
  102.       "longitude" => "",//经度
    / |4 ^3 n' j, f
  103.       "uuid" => "",//设备id
    9 Y+ i  [3 I2 @- d( k4 s6 W" |
  104.       "zone" => "",//请求地区& K4 y# T; M# P; A% g* G$ o9 y. b
  105. );; H  w! i: L+ t& _, _6 l
  106. $paramstring = http_build_query($params);5 b0 y* L/ b8 R! H* q+ s
  107. $content = juhecurl($url,$paramstring,1);9 W6 T& O5 w, q9 Z( p9 f+ R/ P
  108. $result = json_decode($content,true);  O( @$ k- ]3 v9 S8 o: x3 N
  109. if($result){% Y) w' ?2 _- \) z
  110.     if($result['error_code']=='0'){
    2 T4 O+ n; u( G/ r6 V/ ^0 q2 e
  111.         print_r($result);
    * Z. Z9 D" @7 W8 C. |8 e& t7 w# o* m
  112.     }else{0 U; Q1 G# s0 _
  113.         echo $result['error_code'].":".$result['reason'];* h5 \# ~0 P) B" @
  114.     }
    : W; G- B, `' @9 p
  115. }else{
    5 a/ N: S* A: T" t8 z* |; Q
  116.     echo "请求失败";
    5 Q. L. ~( u& k: y
  117. }  ?( E8 N# A; s3 m3 G
  118. //**************************************************
    2 V% S; l# E' `; G7 P6 T5 R

  119. ( p, ]" x6 X8 c! x3 M3 O6 t' Y" j
  120. % X4 d7 u8 s; v3 X& u

  121. " Z( z) Z- A* ]
  122. 3 T) O% O! u4 O, @- u. x6 j% [
  123. ' B8 ~# S& ^9 u1 u$ g6 i
  124. /**
    8 B) }/ U' N% p1 p
  125. * 请求接口返回内容# h7 v( N/ K( P8 [
  126. * @param  string $url [请求的URL地址]* D0 g+ \1 F4 C% R
  127. * @param  string $params [请求的参数]$ D) P9 ~+ @& H5 j4 E! e
  128. * @param  int $ipost [是否采用POST形式]
    ' L7 C; X: C. f, W0 [, V6 L
  129. * @return  string0 ^4 B9 _5 ~' W& N- d( }
  130. */6 x! G  q) S" _
  131. function juhecurl($url,$params=false,$ispost=0){, w* `- `9 h7 R
  132.     $httpInfo = array();7 o& e( m# u. s: j# C- y
  133.     $ch = curl_init();/ b$ u* p) X8 d) T9 C/ M8 k' S. b( ^
  134. # V  X( n' Z: Q  d& T  h
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );% p. e. I( h/ J
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );2 z1 z2 B) A: L1 k4 X
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );- O# m3 a6 f* k
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);0 I+ v0 h# W! N$ d7 S  Q0 u
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    ! ~' L- y3 {. y8 e+ k/ e! p
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);# X% t. k8 }4 `+ x  g
  141.     if( $ispost )) R' N# X7 D: ^. M* n, O
  142.     {
    , M7 C: o% T( l1 r8 m5 p8 P
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    ( U) \. s# r9 I( N
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );" d0 q( _! _  T9 }' n
  145.         curl_setopt( $ch , CURLOPT_URL , $url );1 i; A2 Y) D0 W& u: S
  146.     }% }' G. d5 J! D! x, a1 y
  147.     else# z" _; H2 i8 B" G; o4 H
  148.     {
    ; P' Q3 e: {+ S6 f# H5 G3 P/ f
  149.         if($params){
    ; |  x0 q0 p  T5 O/ I8 d/ }2 _
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );) M$ Z3 E) Q* s
  151.         }else{8 z! ^6 b3 Q  z0 b
  152.             curl_setopt( $ch , CURLOPT_URL , $url);0 W) v# b4 K* l6 _3 F
  153.         }
    ' X/ v7 l9 r7 y
  154.     }5 O% }. B$ K8 i( T' z' x6 p+ Q5 z
  155.     $response = curl_exec( $ch );
    . m4 }3 E0 \3 f
  156.     if ($response === FALSE) {
    7 p2 @6 ~. x: R
  157.         //echo "cURL Error: " . curl_error($ch);( e9 M0 _) Y& l
  158.         return false;  \1 c- U% I0 s( C( m# ]2 L  P; Y
  159.     }
    / N8 t- s) H& x: K, V% f
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );/ _% U2 v8 V8 O- ]% F
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );/ q2 P/ l/ n% ~2 n+ G* s
  162.     curl_close( $ch );
    8 u. e3 {$ S1 \
  163.     return $response;+ N# l1 C6 Y% s* E6 v# V# X
  164. }
复制代码

5 U  F0 T6 B  \( e4 I8 E) p( @# o5 k; J; P
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-17 21:44 , Processed in 0.063946 second(s), 19 queries .

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