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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
- I# L2 A' G: D' O. z8 s1.添加商品信息5 ^0 D7 w  z$ {+ W5 r; U! N
2.添加图片* x* p0 Z! i2 h% Q9 l$ W8 y
3.查询所有产品& g* w7 P4 \. q& i
4.查询某个具体产品信息
4 {4 }1 W. x8 `" _2 G9 A5.删除某个产品1 n7 w& e3 ~0 J7 Z
6.删除图片% _+ m1 N' W" ]3 u  k+ u# t% F
7.图像识别
9 k1 E9 R$ l# i9 C3 A: Y* X" a+ t' [! f6 v
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey
0 u- [& ?; X8 P1 M; }' [) E! A- \( ?3 K! n5 {
PHP示例:7 O. i, w# v+ C
  1. <!--?php
    7 B6 {. p) r6 q* ^( Q% X
  2. // +----------------------------------------------------------------------
    + Z1 t' I3 s/ _
  3. // | JuhePHP [ NO ZUO NO DIE ]* m% i" m  e- j& F$ t- a
  4. // +----------------------------------------------------------------------% Y: w$ n; Q4 |2 ?+ o* j0 I' V* ^
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.8 @% y5 U$ L" L8 f3 P; L- `
  6. // +----------------------------------------------------------------------
    & f& L( k1 o, ]
  7. // | Author: Juhedata <info@juhe.cn-->$ k' t" v" P2 C; b9 P( m4 D" ~
  8. // +----------------------------------------------------------------------
    , z4 W& ?( i, @4 A, \& X' T

  9. ! Z( r/ b9 b* d* E7 z1 a- D
  10. //----------------------------------
    ; P& m% t$ q" S/ W3 ~+ [
  11. // 图像识别调用示例代码 - 聚合数据; V: @  t7 |% J2 o
  12. // 在线接口文档:http://www.juhe.cn/docs/117' ^4 ^: w1 t) F+ a, P2 B" q
  13. //----------------------------------9 Q4 \5 _; B* ^, p& Y, r1 q
  14. / F# n0 Z& {" ~$ X: _
  15. header('Content-type:text/html;charset=utf-8');
    6 |7 |, h6 n" ?; x

  16. 3 T1 m/ _$ }$ r# `% q5 `% ?
  17. " E+ x5 ^- M% e; F
  18. //配置您申请的appkey
    ; |& T7 N1 F/ W+ ]
  19. $appkey = "*********************";6 |* U2 K  O$ B' |/ ?

  20. + S6 z2 h6 j2 Q' {& y! ]
  21. ! ]# j1 ?6 K" G4 \

  22. , W2 k8 L& J7 f. L- |( c0 X
  23. ; I3 J* l0 z& @6 {" I9 O! Z2 e
  24. //************1.图像上传************% M- z8 M3 G( l( m& L
  25. $url = "http://japi.juhe.cn/image_recognition/upload";( e, J- z5 L4 R1 ?5 H8 j4 q
  26. $params = array(
    9 a; A# M6 ~9 ]
  27.       "file" => "",//上传的单张图片
    $ n1 w9 z' C; E5 E  r6 i0 }6 z7 A
  28.       "key" => $appkey,//APP Key
    ( h8 B5 q. v9 |$ p  r( l4 k3 m, W
  29.       "pname" => "",//包名
    1 |( x! Y- g3 Y
  30. );
    5 V/ V0 _& r& e+ R# K7 j7 r; |" Q
  31. $paramstring = http_build_query($params);/ D6 y3 W  d8 C7 K# u- x' O. T1 Y& A
  32. $content = juhecurl($url,$paramstring,1);( f3 s) I& y1 B) E+ B# ?$ |
  33. $result = json_decode($content,true);, m9 P: |3 D3 t! J$ }1 q. j
  34. if($result){
    ) n- _8 @( B) T
  35.     if($result['error_code']=='0'){
    / F! p3 S9 O  u6 \
  36.         print_r($result);
    $ \/ p) _8 ~' y: N
  37.     }else{: H6 b  ~4 M% L
  38.         echo $result['error_code'].":".$result['reason'];2 F+ @9 k; m9 R
  39.     }' A/ k) `  G8 v2 F  a- ?. L
  40. }else{% t, \  n9 u0 O- ]3 t: H) `
  41.     echo "请求失败";  n% x; Q2 F! y; ^' \* y1 Z
  42. }8 d  R! a# G2 ?
  43. //**************************************************1 ]/ n  Q% [% t# M
  44. 3 V; H& e+ R* \1 A. l4 t2 v9 ^
  45. * J* T; S6 P6 j7 C. h# R

  46. # p9 r, B* [3 ]) G3 Y

  47. & O( L+ v5 Z$ Z
  48. //************2.查寻上传图像信息************% R+ a: H- n& W6 p9 K
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";
    8 P. f' `& v9 k7 ]3 e# V
  50. $params = array(7 N' A3 Q# i' I: p' @& \7 W
  51.       "key" => $appkey,//APP Key
    ; v$ {9 j% K% P% m; ~
  52. );
    5 F) [6 T# G2 x" g& e; c6 d3 `
  53. $paramstring = http_build_query($params);
    ( b/ R* W* K* h. F$ G; {# D
  54. $content = juhecurl($url,$paramstring);% v  h" o- Z8 X% W! R  E6 g
  55. $result = json_decode($content,true);
    7 D: |0 R3 L  S; N) t% U1 J
  56. if($result){
    + z0 q- e& _4 S3 E: z. Q
  57.     if($result['error_code']=='0'){" k- \+ M( _, P1 {. {0 O3 M
  58.         print_r($result);
    % _% P% @6 O3 H4 R0 \$ q: n1 c
  59.     }else{
    : Y3 y( `5 q$ T; x$ M& [
  60.         echo $result['error_code'].":".$result['reason'];
    ( a' l3 D% j# m# l
  61.     }
    7 @- U) ]. H. \9 x& L) G
  62. }else{3 w6 ?: C& D: D- ?" i
  63.     echo "请求失败";/ ?& h: E6 f( |4 C+ ?: [' a" a' d& w
  64. }
    9 s. ]+ d4 j+ \
  65. //**************************************************
    1 _- i) ~  p! G- ?, W. B# b9 i! I8 @

  66.   ?: `+ f3 \: Y- M2 W" B6 L4 N

  67. 9 F) H: B& v) L; h8 K: a% K, ^: U
  68. . @4 R9 Z# {* E
  69. % i9 j7 L; a2 P  ~/ B5 i2 R$ P
  70. //************3.删除图像信息************1 X2 ~8 N$ _8 {
  71. $url = "http://japi.juhe.cn/image_recognition/delete";  G% M1 U) A! L" O
  72. $params = array(' |7 w$ g& H6 f) B' q
  73.       "key" => $appkey,//APP Key
    ' `, Y2 e- F3 J! L5 f
  74.       "imageId" => "",//图片ID
    . z) }) @$ y* u; S/ Q9 a
  75. );& M1 Y+ {4 a6 k8 s9 c$ d
  76. $paramstring = http_build_query($params);5 W% r+ ]$ G  `. \8 b5 E6 I5 U3 V
  77. $content = juhecurl($url,$paramstring);* {! U- w( e/ U' W9 z
  78. $result = json_decode($content,true);  e% k  J4 v4 e( o1 T
  79. if($result){6 B- L+ S. |' c$ D8 M
  80.     if($result['error_code']=='0'){
    2 R+ P/ P* W8 H# E
  81.         print_r($result);
    1 ~. ?3 A  w2 @! ^7 {- ?
  82.     }else{
    3 ?+ J) w: Y1 t/ \; _1 G
  83.         echo $result['error_code'].":".$result['reason'];
    " k4 B( m4 i  X0 b
  84.     }
    ' C1 |9 n% J4 b
  85. }else{2 X  x: n" e1 y8 x
  86.     echo "请求失败";
    ' y) x5 T, Z! W, ~7 N. [3 R' R" z" _
  87. }9 x% T+ {% D0 d4 s" f# |
  88. //**************************************************3 I9 x7 b0 c: }  t4 J

  89. 5 X3 w* h0 W& `" h* i0 D
  90. / D" x  j, j( S# z! P
  91. / ^! R1 E( o) X4 I, s

  92. ) n% J2 }) c! c" D' r
  93. //************4.图像识别************& o( K2 d: n. P4 H
  94. $url = "http://japi.juhe.cn/image_recognition/check";3 m. ]1 ~& S+ H; t& q( A/ F
  95. $params = array(# D6 ^1 M% x8 P: }
  96.       "file" => "",//上传的图片
    7 ^$ p- a# O* e* P; J7 a  i
  97.       "key" => $appkey,//APP Key% o, h9 i% ?5 i$ r% i( V
  98.       "pname" => "",//包名
    / |5 @" j% L& H" R7 g
  99.       "device_name" => "",//设备名称(如android OS或iphone OS)
    * n6 E# o* i7 q" O. c+ [
  100.       "device_version" => "",//设备版本(如:4.0.3)3 A2 [  g5 v1 T- h
  101.       "latitude" => "",//纬度8 W8 j& R% p/ F+ L9 U( ?- O
  102.       "longitude" => "",//经度2 B! c8 Q. [9 r; q4 m, ^! Y
  103.       "uuid" => "",//设备id$ T8 X. u( u) V- U
  104.       "zone" => "",//请求地区# W- i% {8 I  D% Y7 u$ D+ ^
  105. );. {/ g, N/ y' W- G. s9 w. I
  106. $paramstring = http_build_query($params);
    / F" B+ r& Z, ~
  107. $content = juhecurl($url,$paramstring,1);
    7 v" B4 c# w5 M# [* S) o. d8 @
  108. $result = json_decode($content,true);
    - [" m/ O( _* {2 k. N, z; }+ l' [
  109. if($result){; T6 E  b  l8 x4 x
  110.     if($result['error_code']=='0'){% ]$ T. ^7 u; q9 {5 l6 C: B
  111.         print_r($result);% d' _8 Z) O5 `+ u; y( k# J
  112.     }else{* v# r" r0 I& m" a+ v5 j
  113.         echo $result['error_code'].":".$result['reason'];
    # h& b& S2 X/ ~) ~. I# N  g. |& C
  114.     }$ k2 U' ~* [/ w2 d$ a# e4 H' K
  115. }else{
    8 b9 y" J3 w4 r: S! K( e+ U+ p
  116.     echo "请求失败";  u$ c: k, ^5 y
  117. }
    8 u; R% u8 |, |* A4 I8 I; q
  118. //**************************************************
    5 ~. n& k2 x; O

  119. & y- \% s1 H+ S3 Y5 k& C# w

  120. 9 B: N% j! m! d1 l$ H, y* J

  121. : _; H9 m' K1 O  Q7 l- n# n, S
  122. ( n# H6 }1 A6 U7 @% X

  123. " w% U* B. _3 L6 Y* I/ r
  124. /**
    9 i5 Y! o7 [& s( Z( h
  125. * 请求接口返回内容
    # ^/ p  V! b) k6 g
  126. * @param  string $url [请求的URL地址]2 R  m+ i1 r% Y
  127. * @param  string $params [请求的参数]8 r& e# |9 R( u- T0 E1 r
  128. * @param  int $ipost [是否采用POST形式]
    9 h$ ]% r3 j8 A/ F# e2 U
  129. * @return  string
    " {: m, w% ?9 B' p4 t) L
  130. */0 E. l# S- l2 Y$ I3 _4 [! ]$ I& N
  131. function juhecurl($url,$params=false,$ispost=0){9 |9 ?  W" m; Q8 k5 C9 t1 j
  132.     $httpInfo = array();+ G" y" F9 Z; G6 {
  133.     $ch = curl_init();
    " _+ ~( z1 L" q/ J

  134. 2 B: r* m  m, J
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    # N( w; F6 h( U" s, v( Z
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );  O0 f- q7 w1 W2 L; N& r* d
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );, S/ m7 E$ N1 ~5 x- s0 k) v0 h
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
      ^& r; t8 N- _" U) H
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    ( O! G- E0 u% r0 t% _; W
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);/ X8 S2 f- Z7 b' A9 L
  141.     if( $ispost )$ B1 y- Y$ X7 Q' r8 S
  142.     {
    4 ^6 g' z6 m% K! T: ^( {& x" H
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    : w% r$ @: k5 B8 G; n( B4 r
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
    % b$ }1 L' Q8 C2 ^: \5 T
  145.         curl_setopt( $ch , CURLOPT_URL , $url );4 w) Q. f! G- g8 @1 _
  146.     }1 L3 h5 y& Y( C2 m' e" X
  147.     else
    ( Z, w' B( a1 W' {
  148.     {
    ' a# d7 i( m/ w- {: f* K- k
  149.         if($params){% m  o  o* b/ r9 H  D8 m: V
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    / |& }6 n/ e; c. V
  151.         }else{
    2 B) z% S/ J6 ]# C
  152.             curl_setopt( $ch , CURLOPT_URL , $url);
    6 c& p4 T8 X# }3 _% z+ j
  153.         }
    / z$ g1 _  H7 n, g7 `
  154.     }
    3 L" B0 K# o! ^- z
  155.     $response = curl_exec( $ch );
    4 V0 m( k# [  M
  156.     if ($response === FALSE) {1 }) [7 X0 J0 h
  157.         //echo "cURL Error: " . curl_error($ch);
    ! I  p2 d$ E! L4 \
  158.         return false;9 j8 Q' ]" f" e4 x# x
  159.     }- E  D+ [9 `( S5 M8 l+ N
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );( T; q; G7 N7 n/ j
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );% {" w  ]8 Y  ?% U
  162.     curl_close( $ch );2 _1 t8 J- l; A' y5 }- Q
  163.     return $response;+ [( L9 S6 B8 a
  164. }
复制代码

5 Q: o1 r$ V( I; [: P+ [+ E8 x, y& ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-9-21 05:21 , Processed in 0.059228 second(s), 19 queries .

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