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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。/ X/ i8 u* j% r& ~' D
1.添加商品信息
5 {# i0 I3 h6 d2.添加图片
0 d, ^$ q! F6 y! `1 b0 r' ~& z3.查询所有产品' c* U! b" ^( o* v+ D! V* B. B
4.查询某个具体产品信息
0 x* H) h2 |% ~1 j" H: D6 B5 h4 b5.删除某个产品5 n# g; S/ N0 l4 o' [: M9 Z  q3 S2 o
6.删除图片7 D& \1 C( S3 N0 x' G& Q. x4 {% f
7.图像识别$ u9 y! f; Q/ g# u
) m$ V6 Q4 M! l
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey7 H% I; T8 u, z/ n" M5 Q# Z

1 O( S. r' W  q$ i3 f2 MPHP示例:" Y! ?  h) g& Y$ R: u
  1. <!--?php
    + l+ c" ^9 u, U3 m6 a
  2. // +----------------------------------------------------------------------$ j: O) X" _# H9 ]: K+ a8 [5 O
  3. // | JuhePHP [ NO ZUO NO DIE ]2 ~* k" k" z! v2 D% b( ?
  4. // +----------------------------------------------------------------------
    ) U( N: I4 @4 w, L$ x, a
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.! O1 E0 I5 P; _! Y
  6. // +----------------------------------------------------------------------$ T; Q8 Y5 H0 ]7 w- s
  7. // | Author: Juhedata <info@juhe.cn-->/ Y$ g# m" F5 ?$ ~8 I( \2 l
  8. // +----------------------------------------------------------------------
    * D" {5 q% l6 t- o  U
  9. % e2 D0 w/ k8 ~" S* Z4 C: |
  10. //----------------------------------! T6 W3 D$ B: X+ i( W. b8 o% K6 F' k% R
  11. // 图像识别调用示例代码 - 聚合数据$ g/ s& _+ k$ |5 t: e! Q! s; a( G
  12. // 在线接口文档:http://www.juhe.cn/docs/117; Q8 c" g/ @5 E  {! c# X
  13. //----------------------------------
    ) \# [+ W8 H" L2 v+ Z: {; [
  14. # O( {9 A( M! ~6 `- V7 j. t5 l5 t
  15. header('Content-type:text/html;charset=utf-8');0 I7 N# K& L  J8 ^0 E* P8 j

  16. 9 W2 T. l: S: d& V
  17. 9 H  O; G( e' s( Z2 [! A
  18. //配置您申请的appkey$ D, I% W4 T+ s7 @
  19. $appkey = "*********************";2 ^9 e) L+ c, k( J5 H

  20. 6 w7 s2 T5 @9 L& r

  21. % W7 s) }$ @1 m+ p3 ?
  22. 9 D5 ]$ f9 p0 w, H5 C

  23. ( o# v+ D7 }( _6 N
  24. //************1.图像上传************
    : ~5 {$ W. f3 o5 V- j$ n9 G
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    $ D; L7 N/ f$ Y4 h8 T& n. ^6 T2 W
  26. $params = array(
    / f% Q7 c9 U; R* g. ^( o
  27.       "file" => "",//上传的单张图片
    " o' R% q4 H& H% v3 L
  28.       "key" => $appkey,//APP Key
    0 H" N4 I+ F0 E+ b9 F0 |! n
  29.       "pname" => "",//包名
    8 H1 L  O) \3 o! C% Z; ^
  30. );8 p1 u0 ]/ A6 D7 t
  31. $paramstring = http_build_query($params);
    ! J. D/ M, `0 n3 J# K+ S+ A, T
  32. $content = juhecurl($url,$paramstring,1);
    + d  c6 H/ {) d$ m# b/ l# y: ^! p
  33. $result = json_decode($content,true);
    ; p. s) F9 F$ Q3 h
  34. if($result){5 ?! X7 b" V- w5 j
  35.     if($result['error_code']=='0'){' V3 b' M  z9 F7 x0 u
  36.         print_r($result);
    ( W. a3 B& y2 [0 Y6 _6 a1 J% C/ C
  37.     }else{
    . U# K0 R% i6 P* r' L( u) h
  38.         echo $result['error_code'].":".$result['reason'];
    , a0 D, d+ c3 n8 v% @
  39.     }
    ( ~+ v1 g6 y/ C. ^0 \# z
  40. }else{
    ' `1 D6 J2 Y& b4 [' B( b- a5 {
  41.     echo "请求失败";
    8 p: Z, E& b/ C/ b0 x: B) B
  42. }0 P9 I8 o8 x( Y0 {- O; A: X
  43. //**************************************************
    3 q2 L; R3 n! y
  44. ! Z( L8 B+ S2 l

  45. ( B9 X7 K% W' d% y! z

  46. ( N; i# t! l) j* W: ^, T5 F
  47. ' M- V, [$ d; l* Y: `4 f
  48. //************2.查寻上传图像信息************
    % S- [) o4 M$ E0 E. _; }! c
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    2 f2 c! u" A+ ?/ ^; T
  50. $params = array(! b! d- K" n3 N/ N% `
  51.       "key" => $appkey,//APP Key
    ) Y  j$ p3 q9 W) n  R# K
  52. );; O1 p) k0 m- E) g
  53. $paramstring = http_build_query($params);$ E% `; o8 q( G, A
  54. $content = juhecurl($url,$paramstring);
    % c9 |+ q; h- o) v' f. a, r
  55. $result = json_decode($content,true);
      I7 n$ [, {. J# t- S" e# [
  56. if($result){
    0 F: }9 S# r" g- E
  57.     if($result['error_code']=='0'){
    % n/ R+ P% P3 R+ L1 F8 m4 H
  58.         print_r($result);3 Q; k8 H. w0 t! ^3 H) R( l
  59.     }else{* f1 g, h, B) L" L+ J
  60.         echo $result['error_code'].":".$result['reason'];0 ]5 r/ I6 [: _7 f
  61.     }2 l2 \' e! E! R- D# j& u7 o3 Z
  62. }else{
    * p, `9 ]% n- w- p+ g9 ]
  63.     echo "请求失败";$ K- w: O) s  N) }% v3 |
  64. }, @' P+ J) D0 [3 ^2 W
  65. //**************************************************+ _9 H  q  z* B" }5 H- \
  66. ' x2 g$ s: D. Z$ J9 ]
  67. 4 b/ v) T5 v* M1 @& z9 o& G0 h

  68. 5 j! Y# k7 ?: e. V
  69. 8 G/ X! y8 l- S& w
  70. //************3.删除图像信息************' {2 j/ |0 J+ A
  71. $url = "http://japi.juhe.cn/image_recognition/delete";
    0 l/ m! g4 ~; |8 F
  72. $params = array($ ~5 ^% x5 o# P! c" Z' [0 A
  73.       "key" => $appkey,//APP Key
    . @; d% n0 a2 p9 t$ }) J; D
  74.       "imageId" => "",//图片ID
    0 V, p$ R( `* [7 z
  75. );
    # W7 x$ F7 G- ]% m. F# P
  76. $paramstring = http_build_query($params);
    2 L# z1 j0 N6 K; L6 d
  77. $content = juhecurl($url,$paramstring);6 P( X+ l. E, u5 y0 @
  78. $result = json_decode($content,true);
    # M) \& L2 _: p8 V9 l
  79. if($result){
    4 j: P0 s2 {% U3 G) |# ?/ t7 K% p
  80.     if($result['error_code']=='0'){
    5 I' ?; m7 S0 k5 e: O; b
  81.         print_r($result);
    ( h5 x- t8 f8 s# E% |- y; k8 M$ x
  82.     }else{
    - r) i& v; w4 w8 @( ^
  83.         echo $result['error_code'].":".$result['reason'];
    - E3 S  |7 r. ?: v* q
  84.     }
    " D7 F  m0 M' L* T! i
  85. }else{
    * t/ G1 _( u) C; g8 W$ I8 O
  86.     echo "请求失败";0 Y) @" N0 y- c( z
  87. }
    , @( K, ^9 J, f1 }2 }1 R6 q, Z3 j
  88. //**************************************************+ h4 @5 j1 f5 f

  89. , q* ^3 Y0 |+ _4 u5 l* Q

  90.   Q( s$ r9 Y% |" F

  91. * T6 c' ?% @8 q! U5 j

  92. 7 {$ S+ F6 Y: I; Z/ }. S5 P( h: L
  93. //************4.图像识别************3 H0 ~0 N! g) t' E8 W5 \% l
  94. $url = "http://japi.juhe.cn/image_recognition/check";
    % Q9 \7 T& f! c, g5 S/ O
  95. $params = array(# _# _* v: }% O+ V9 j! Q* A
  96.       "file" => "",//上传的图片
    ( W( W" n! V# O1 w# [
  97.       "key" => $appkey,//APP Key* d8 v3 B; d7 h" T2 s& j
  98.       "pname" => "",//包名
    3 e  ^* s  h+ n! t$ _7 l, N7 y
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    ' ]/ N. a; W' K$ E* h; a
  100.       "device_version" => "",//设备版本(如:4.0.3)
    % A, L6 ]  K* i2 K1 j
  101.       "latitude" => "",//纬度
    0 V- U* h0 _) k. j6 P* s8 Q2 G* b- h
  102.       "longitude" => "",//经度
    3 z5 Y: w. h. r" I9 T; d; a7 F
  103.       "uuid" => "",//设备id
    7 [& O5 }8 g  z4 `6 Q
  104.       "zone" => "",//请求地区
    : J. {4 b9 r# g; t, l( |. f2 ^
  105. );
    - P4 B& R  \. Z6 @6 z; {
  106. $paramstring = http_build_query($params);! h' S8 K! K0 I" F5 {7 N1 I
  107. $content = juhecurl($url,$paramstring,1);
    6 k- l  |3 U( w) A; |
  108. $result = json_decode($content,true);& L  Y, ?2 Z, |7 P) q2 p2 y/ l
  109. if($result){
    5 V: w" ~/ P' \7 d0 O
  110.     if($result['error_code']=='0'){
    ; z' D' |* F: N2 P, f# i' m. g
  111.         print_r($result);8 Z. q, A0 H4 u& Z- u- N! r" V; G! y
  112.     }else{
    , \7 `. q; o" E; }( a; e, Z
  113.         echo $result['error_code'].":".$result['reason'];
    3 ^9 L& k+ z5 J8 P7 Z- h( |# `$ ]
  114.     }6 o* z( f% _# B3 A
  115. }else{
    2 l, I* t0 j6 h+ Z6 i; F9 m
  116.     echo "请求失败";0 y# a0 W2 A9 y+ T- j( u, |
  117. }2 w  t& r$ x% e
  118. //**************************************************
    ( Y1 Y+ V4 ]5 ?& S& f+ v
  119. ' m( G# A1 ]# J- O4 E% K0 h8 p- D

  120. 3 s3 J! R1 N  S, C5 n1 Q

  121. & b  `4 r3 H3 z3 X  I  d3 H: ?
  122. 7 [% V; w. i) e# B; a

  123. 6 @4 H+ G& f' O3 F. ~$ s( F3 l4 a
  124. /**) a( X( ]8 [9 l( E
  125. * 请求接口返回内容
    . F: B" t- U" {1 H! V( M# [2 f
  126. * @param  string $url [请求的URL地址]/ |5 Z$ d" B$ j+ ~
  127. * @param  string $params [请求的参数]. L( {$ y3 s8 |" h
  128. * @param  int $ipost [是否采用POST形式]; `' Q9 m$ {, ^) C2 K5 f4 m& E
  129. * @return  string" z; e8 M- z' [
  130. */0 A! V+ @# S+ i
  131. function juhecurl($url,$params=false,$ispost=0){
    2 E4 X3 I! O- m5 t
  132.     $httpInfo = array();9 h% e# e6 |' B( I7 o" _3 [
  133.     $ch = curl_init();
    / K8 P! U  E- D( a; |: J9 F; l

  134. 3 k5 u, X9 I( H+ ^5 T
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
      J% H5 M0 ~; R) m8 w
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );( o9 n4 y  L9 L! _7 }, P
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );6 |3 P& O& F$ A5 C
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);" O% Q5 w3 F$ {. O# w
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    ( s5 V3 j2 ?* X
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);4 j. a) ~, ?# j# f2 W
  141.     if( $ispost )$ J5 F  j* r5 |, `
  142.     {
    * }0 [$ m3 l9 `  n1 {5 M# A
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    " u$ ^( q# j  n/ t6 B
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    $ n, i& n! L3 G' f
  145.         curl_setopt( $ch , CURLOPT_URL , $url );3 \# ]2 N% s$ g' ?
  146.     }) ^) f& X$ C1 f( C5 v, Y  A
  147.     else* \% I3 `) `, W3 `$ x# m$ J
  148.     {
    ( ]$ ?; Y7 z9 X2 u- a( \& t! f
  149.         if($params){
    2 c9 b) B0 F; S4 _3 U7 d* ?
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    : e) T& l; j! ], q" ^" h, e
  151.         }else{5 g8 E  F5 q+ ]2 q% C' H1 N
  152.             curl_setopt( $ch , CURLOPT_URL , $url);  B& ?8 c$ M' b2 X2 c- w; `( y( F
  153.         }' m8 {+ q- f# \
  154.     }/ Y% ^3 Z- f9 p2 P$ B
  155.     $response = curl_exec( $ch );
    ! a* z% O. V* x5 }0 ]9 J
  156.     if ($response === FALSE) {* R% `7 }5 {% [
  157.         //echo "cURL Error: " . curl_error($ch);7 E" D  `' \$ w
  158.         return false;
      I  t9 Y- T  r( Y8 ~3 g3 S
  159.     }4 f3 K* y, o/ q; G3 b; U2 `
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    1 X$ U) j( e1 l- g
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );. g) J" p" s5 f
  162.     curl_close( $ch );6 G0 i9 g. i) [
  163.     return $response;- T. I; o! v  n0 P) r
  164. }
复制代码
" }0 y9 \& k- H" t* x. M, P& o

3 U% m- V! r$ W: O7 [& o, y
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-23 07:41 , Processed in 0.113565 second(s), 22 queries .

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