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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-8 00:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
# v, w. \: v8 J8 X/ d1.添加商品信息
: H1 F/ U/ W. _+ p0 S2.添加图片
, b% z$ ~% T- v* P+ O# C3.查询所有产品& \, }# X, F+ r! a+ d7 o
4.查询某个具体产品信息9 D5 u, a0 h+ W
5.删除某个产品' {+ }0 _) M  U! P9 D
6.删除图片! s7 a# N* f1 N# y9 n5 S
7.图像识别
3 F+ v( l2 ~- K: ]( u4 A, u* E' q7 l9 |5 n
图像识别API文档:https://www.juhe.cn/docs/api/id/117,申请后生成AppKey6 B) O. x+ d7 j' b! l/ p6 G" {

6 z  j# [1 z: K/ sPHP示例:  \/ W- B" N; s
  1. <!--?php
    5 F1 \, M4 @' D4 _/ X$ z+ \+ o
  2. // +----------------------------------------------------------------------
    $ J( b( H8 X0 j/ i) x% L
  3. // | JuhePHP [ NO ZUO NO DIE ]
    & X+ B- {5 v. L; U
  4. // +----------------------------------------------------------------------
    . m* w5 n9 Z) c4 [) i. S3 b* w
  5. // | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
      F6 y) a: _. r; A' x2 i
  6. // +----------------------------------------------------------------------3 o6 `3 n% O! |5 I3 l
  7. // | Author: Juhedata <info@juhe.cn-->
    " r# o3 [6 A5 S9 I- p
  8. // +----------------------------------------------------------------------( t! n8 [6 N- H* c0 ^0 q/ v7 X* G

  9. 1 B/ z9 N5 Y- S6 z  x# ^/ [
  10. //----------------------------------; n, H% g2 a( ^2 ^& N1 j
  11. // 图像识别调用示例代码 - 聚合数据, _0 G  ^& O" j. S
  12. // 在线接口文档:http://www.juhe.cn/docs/117
    # F$ ^8 V9 p5 W% b) u) N& S5 q
  13. //----------------------------------1 J2 d/ }1 P! e+ f# t1 i( D& j

  14. 1 s$ M8 }$ r2 Y, `+ R( \0 L
  15. header('Content-type:text/html;charset=utf-8');
    * w: k$ Y) f- P6 }4 T# s: w" r
  16. : s( o7 S0 B6 ~* d3 B

  17. 9 N, X; p+ I) W+ f4 L
  18. //配置您申请的appkey
    + z8 |% T* w2 t4 Q7 ?' L
  19. $appkey = "*********************";
    9 ^4 r' t  {7 {' ~9 ~7 d
  20. + T5 ^' d* Z( M! t$ {1 ], L& N6 e# Q  }

  21. 5 X9 T1 O7 Y. F5 m1 Z, _" U9 w
  22. / e0 [3 `/ m# `2 G
  23. ! M. k  R: `, x. ^
  24. //************1.图像上传************& C+ n0 C' q/ v* v
  25. $url = "http://japi.juhe.cn/image_recognition/upload";
    0 R0 ]7 O7 O* _" s+ ~+ Q7 M
  26. $params = array(6 {, e8 i  J7 t1 V
  27.       "file" => "",//上传的单张图片
    $ }% u* T2 d0 a1 B( q; g
  28.       "key" => $appkey,//APP Key+ F* j# H0 B/ w4 O
  29.       "pname" => "",//包名
    . D3 o# O/ `6 |
  30. );
    / ^. Y8 v# `3 ?: r
  31. $paramstring = http_build_query($params);
    7 t) p) t; s1 G: l4 ~+ ^
  32. $content = juhecurl($url,$paramstring,1);5 r5 \5 T! |1 u8 o* M
  33. $result = json_decode($content,true);
    ) @3 f  s7 S. |6 k
  34. if($result){
    9 v& h9 h' |+ y- f1 \
  35.     if($result['error_code']=='0'){
    , v, c* y/ U% b, P2 `( ]2 E1 U1 \
  36.         print_r($result);2 O& H  K% Z4 S& g0 t8 I+ \" ]6 c6 N
  37.     }else{
    ) S! Z) v) M" O+ C* i$ d+ t5 E
  38.         echo $result['error_code'].":".$result['reason'];3 v! U7 ^0 g; c( d7 R' @
  39.     }
    0 l0 V- p5 r/ V3 M' \
  40. }else{
    0 v" d9 C6 I1 n' l' ^. Z+ y6 K0 ?1 ~8 v
  41.     echo "请求失败";
    - ]! z( E% B7 \
  42. }
    4 k$ M" ?/ S& |# P2 y8 Y
  43. //**************************************************- U4 @( Y. u* `! y9 \
  44. . h+ Y  H6 ~# R3 z
  45. , [- K5 [4 l8 e  r5 r; G
  46. : O9 K3 z: _  B5 R& t4 u

  47. ' m0 @0 d- x; Q+ }/ y( Z: y
  48. //************2.查寻上传图像信息************; {2 j0 q. i7 x! V5 W5 P" A: V# _
  49. $url = "http://japi.juhe.cn/image_recognition/findAll";" E, _$ F/ q1 Q& F! X
  50. $params = array(
    % Y# n& y" s; Q# Y. X5 \
  51.       "key" => $appkey,//APP Key
    + I5 Z! {; c7 F2 i! A* P
  52. );
    0 g/ D  H( M0 @2 k8 r
  53. $paramstring = http_build_query($params);
    + X/ w# J2 K4 _% }6 V
  54. $content = juhecurl($url,$paramstring);
    5 K  q4 @4 v0 q5 i
  55. $result = json_decode($content,true);
    , f' k+ d- P" |$ Z9 f
  56. if($result){
    + w1 f( l. C- Q6 T
  57.     if($result['error_code']=='0'){7 D* |3 N) V6 ?
  58.         print_r($result);
    ) p3 J( p" p1 {3 t- l# {( _  E
  59.     }else{' c- p: n* `  f0 E& t9 [/ ]# e0 [! E
  60.         echo $result['error_code'].":".$result['reason'];
    , y, ?- g; D7 |! e, d0 p
  61.     }
    2 v0 Z, G& h3 B+ z. T. J
  62. }else{
    2 D8 j2 Q  L# m
  63.     echo "请求失败";
    " w5 R0 n$ n+ C& e
  64. }' ?4 ^% \' e) O
  65. //**************************************************
    3 a- P; c3 ^+ z" ]

  66. . M. ]" N& R5 _5 _) o0 m( B- f
  67. ! }% z5 e; I1 T5 K

  68.   B9 T8 I8 U  i  C0 y* S

  69. 3 k* @" ?3 S' Q! q  j7 j
  70. //************3.删除图像信息************
    3 d, A1 P5 R' v
  71. $url = "http://japi.juhe.cn/image_recognition/delete";) {+ a* w  E0 `7 U& D0 Y
  72. $params = array(
    2 \+ a0 O- {2 {/ ?
  73.       "key" => $appkey,//APP Key
    2 l2 G- D0 [6 z, R) z
  74.       "imageId" => "",//图片ID7 ^- H: h! w7 a" I; O& I/ @7 f
  75. );
    # \& B( v9 v/ t
  76. $paramstring = http_build_query($params);
    & w% b/ C. _9 ]% R
  77. $content = juhecurl($url,$paramstring);
    % B  K0 Z" N$ A' J
  78. $result = json_decode($content,true);
    9 u# F% j: Q6 k
  79. if($result){
    9 i# I& {: U$ D$ l
  80.     if($result['error_code']=='0'){0 M' V. _4 @6 ?" r, ^0 ^$ k
  81.         print_r($result);  I  s; K7 W% v" G0 A* n4 \
  82.     }else{! H- q. {# i, f  b- L8 v  |
  83.         echo $result['error_code'].":".$result['reason'];& K; l# G3 L5 O; H) t) Z: y
  84.     }! |1 M* r6 @2 L* Q& A% l3 O' O- ?# {
  85. }else{- L  L5 E% t1 h8 u/ ^
  86.     echo "请求失败";! }, w1 d. q5 @& }& Y
  87. }
      V. b2 _! F8 U0 I- t
  88. //**************************************************
    ; D$ M/ v- G9 W! k% _% `+ s8 r( A* [* }

  89. / A( _4 H" H/ l8 o8 U# y
  90. / g( F- |/ Y& x3 H2 o
  91. 8 [, G" K4 M7 a0 F

  92. 6 R# F7 y9 ^$ t1 a( G4 ?$ j
  93. //************4.图像识别************1 V( B) J5 k8 G' |! w! ~
  94. $url = "http://japi.juhe.cn/image_recognition/check";& y/ ]- H( t5 M  f/ d& H
  95. $params = array(& r4 `3 G/ t3 a+ g& q
  96.       "file" => "",//上传的图片, {8 F& S6 B# m6 f! y
  97.       "key" => $appkey,//APP Key! @3 o6 n) x0 ~. k: D/ P( s: ]
  98.       "pname" => "",//包名- F8 p3 A6 }+ b# k( ~7 |, m% p! b8 U+ E
  99.       "device_name" => "",//设备名称(如android OS或iphone OS); u8 Q2 {0 L4 P  C, c7 o
  100.       "device_version" => "",//设备版本(如:4.0.3)+ y0 Q2 A, ?$ R! s  y
  101.       "latitude" => "",//纬度- y2 ^  u4 w! D: u- ?
  102.       "longitude" => "",//经度- p' @8 U7 {: z7 Y( e2 Z
  103.       "uuid" => "",//设备id
    2 m5 {1 W! Z  K5 x: N0 t
  104.       "zone" => "",//请求地区4 S% K  U% e8 _" x: U' O* j
  105. );1 `3 l$ G; x3 i' ^
  106. $paramstring = http_build_query($params);
    6 g, k! E) x/ ]0 c
  107. $content = juhecurl($url,$paramstring,1);
    8 w  u, v2 ]2 C8 H7 M0 z
  108. $result = json_decode($content,true);- }+ \7 ^7 q3 U& Q7 b7 Q) _$ z
  109. if($result){
    # C0 g) V; C- _) L0 f, H
  110.     if($result['error_code']=='0'){
    ; ~$ c' `  ^- \0 ^5 E& ~" Y( H
  111.         print_r($result);1 D; P8 Q/ s; P+ m5 A
  112.     }else{
    8 G+ X. [& v2 k( E9 p+ h
  113.         echo $result['error_code'].":".$result['reason'];3 k( A" z$ h2 d6 s& G# _; k$ Z5 W
  114.     }
    8 e9 r8 ^5 g2 d* Y& J) l" q
  115. }else{% K& W, s& K" z3 P: y1 ?
  116.     echo "请求失败";% o8 S2 I- g- D; q0 {9 N
  117. }
    8 E+ q, N) }1 x  b0 W
  118. //**************************************************( ]* C) L4 f' [5 [( ?5 r; \8 R& B

  119. 8 o0 u8 j: ?! J. U: Q

  120. 9 Y% a2 J+ H' q4 F/ J
  121. , D! W  x4 l  ]( D* T  H6 D

  122. ( R& @* ]% ^/ f  a" Z$ m
  123.   g0 A" I5 k5 _, W/ Y. {. f# R# h( M
  124. /**
    9 E) E, f1 w. |3 [7 g
  125. * 请求接口返回内容
    8 s; k* e# @' L) O0 ?% u, O  y
  126. * @param  string $url [请求的URL地址]
    6 i, E" U* i% d0 s
  127. * @param  string $params [请求的参数]
    8 A$ v* i3 S4 h: T2 c. I1 ?
  128. * @param  int $ipost [是否采用POST形式]. E. w+ k6 `0 d
  129. * @return  string
    ' C) n# o) v  Z
  130. */& {( d/ J6 N. A0 p# \+ N
  131. function juhecurl($url,$params=false,$ispost=0){# t# A1 x. v6 V- Y. Y: _. i
  132.     $httpInfo = array();! @8 M- |3 i  k6 h1 F' `3 P2 J
  133.     $ch = curl_init();" `) \6 ~6 L& @$ y! x! Z% s8 G: `, q
  134. 0 s# R' }9 o# G7 \$ q& @: N
  135.     curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );7 k- D+ y& u4 y3 s* |
  136.     curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );: e2 j6 p; j! T6 f
  137.     curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );' a: G! e2 P/ S, B# g- t$ U* r8 }
  138.     curl_setopt( $ch, CURLOPT_TIMEOUT , 60);( {" o4 j  x; S0 ^- j
  139.     curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    6 v- i% {  {+ C! w+ j7 _" g
  140.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    2 h2 a6 ~  }& s: Q9 x
  141.     if( $ispost ); R$ B' O# ?8 [; S- m) b
  142.     {5 m6 [' w$ O% s! U7 B6 e
  143.         curl_setopt( $ch , CURLOPT_POST , true );
    * t, @: n; `" L. H7 s
  144.         curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );* q/ e7 u. Y6 P+ r" J4 Y
  145.         curl_setopt( $ch , CURLOPT_URL , $url );9 [/ |* M& M: ^" ]' x
  146.     }* H+ G3 Y  }/ Q' ]
  147.     else
    2 R" L& t# i( K% y% C; `' @2 [
  148.     {1 u) K$ s! \/ Y) s1 ~2 {
  149.         if($params){( M# U! F& `' N/ F7 ?( C0 s
  150.             curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
    $ E7 b% g- i! W' F/ L
  151.         }else{; v0 c/ L7 A' v0 y) N7 T! r4 h! a4 l
  152.             curl_setopt( $ch , CURLOPT_URL , $url);7 l5 |1 |0 X/ `0 C
  153.         }* G2 h  `2 ]$ Q! v6 ~
  154.     }
    # S2 Z& s5 _# {. {/ x3 M$ I4 }' d
  155.     $response = curl_exec( $ch );3 \3 k# L8 \) ^* e1 E) z
  156.     if ($response === FALSE) {& p( R: V7 K- r4 E
  157.         //echo "cURL Error: " . curl_error($ch);- W2 A/ J8 E- o: `
  158.         return false;
    4 I& Z: e  T/ t
  159.     }, w; _7 S! v) M1 k& U
  160.     $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );2 F5 e/ v2 ]- o% }1 R! {. r3 D: ?! n
  161.     $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    9 V1 `7 W5 R& T% S: |+ o. {$ P3 R
  162.     curl_close( $ch );
    & H6 H( Q- H( G
  163.     return $response;
    0 T, \) J& x$ {* s' ^- f
  164. }
复制代码
9 o! k4 c* _( }! T1 s6 U

; D- h' e, m: N7 k7 h
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-16 18:44 , Processed in 0.051972 second(s), 20 queries .

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