cncml手绘网
标题:
图像识别API调用代码实例(PHP)
[打印本页]
作者:
admin
时间:
2018-7-8 00:13
标题:
图像识别API调用代码实例(PHP)
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
. g0 \7 p: O/ k, G: h6 f
1.添加商品信息
- ?: F: L% P* E2 T% _9 ~0 H
2.添加图片
+ H4 [8 i" g, X0 A1 }$ b
3.查询所有产品
, w' I3 ~! X/ n+ | ~
4.查询某个具体产品信息
& y, S& k" [ S3 J6 B$ w
5.删除某个产品
9 H. Y/ l5 v- L
6.删除图片
& Q$ g4 k2 q# G, [7 g4 a; L1 H
7.图像识别
) b* l2 h' A4 o( |! `5 Z
$ I2 u* |" U( u* |# ~( e: i" ~6 b
图像识别API文档:
https://www.juhe.cn/docs/api/id/117
,申请后生成AppKey
* t% n9 F! t- W0 f! `. o- R* @
- b0 B3 U5 P5 W$ R- |( y
PHP示例:
; t3 k3 Q! a% d8 H
<!--?php
( D3 F9 b' S+ }
// +----------------------------------------------------------------------
0 {% P, d' B+ H/ ^' Z$ D2 e, L
// | JuhePHP [ NO ZUO NO DIE ]
* c/ s' F- S! N: V; D. H
// +----------------------------------------------------------------------
/ d/ f4 G5 G* b9 S" H
// | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
% k2 A9 _7 b( \# ]$ Z
// +----------------------------------------------------------------------
6 c* ]. Y8 U) ]! x3 G! g
// | Author: Juhedata <info@juhe.cn-->
$ p; r& o$ h' b! X& w% r+ ?' f) b
// +----------------------------------------------------------------------
- r, |4 [, [* I( ?1 p
1 h2 c, t# e& t2 K
//----------------------------------
, h8 O3 r- C* l! p, J+ n
// 图像识别调用示例代码 - 聚合数据
# B3 a f1 y( ?
// 在线接口文档:http://www.juhe.cn/docs/117
) F5 J9 z! X8 I4 \6 R
//----------------------------------
! |, }9 _; {9 R) b$ U$ T e, m' X
. T- L( s' X+ }2 s0 w. Y
header('Content-type:text/html;charset=utf-8');
) P% g6 |/ F; _
' E& S- [! i5 H y; M/ o; g* Z
7 l1 Q8 H: G8 i" C
//配置您申请的appkey
3 h+ g9 M8 L' }' U6 F; T) Q3 h \
$appkey = "*********************";
$ ?5 o% |+ ~+ a- y' G
- O% L9 i* P( b1 J4 A0 s
- [9 Z3 V2 I9 g1 u! W
4 t% |! l% l+ A4 E* T9 r! x
4 B" }% [! _& T% Y1 W7 a
//************1.图像上传************
* i; A& k: H& }6 b, ^ X+ c' S
$url = "http://japi.juhe.cn/image_recognition/upload";
4 h1 u1 |' U W0 `6 s
$params = array(
: A" V% w; A" M8 K' S7 m b
"file" => "",//上传的单张图片
6 U/ w9 v8 c5 Y; ^
"key" => $appkey,//APP Key
, y1 F& I/ o" F3 \2 F
"pname" => "",//包名
; J9 a" G* ~# ~# a; f
);
+ R. t# \* D& H
$paramstring = http_build_query($params);
0 u- G4 A% d2 ]' D6 Y8 j1 F
$content = juhecurl($url,$paramstring,1);
+ t; I- t ^) J; {* S. F. \, V
$result = json_decode($content,true);
" R) `* R. u% X$ s6 C( u+ j
if($result){
1 ~5 p3 T! A5 y" W" g7 M! }
if($result['error_code']=='0'){
* u' N. B& B' h5 t, T
print_r($result);
) M( m2 j; {+ d O" Z# T
}else{
V+ j) t u, m* G
echo $result['error_code'].":".$result['reason'];
; F# b% J( i+ |- q- S3 ~
}
( b# B0 R1 j7 L- N. y4 e, F
}else{
$ E* g9 l1 D3 x& N8 ^
echo "请求失败";
) L+ w0 o4 d# X# G0 _
}
* T. s2 |% K8 h1 V5 I
//**************************************************
5 H( V( U) F$ M/ `8 O
) [% u; T- D/ N2 m$ ]1 E
. k( X3 G3 s5 O6 F% t
: X- V+ ~3 |: ?# I% P
, d5 l0 V" y2 L) ~/ i% A# _; \, N
//************2.查寻上传图像信息************
! ^- n: D2 Q# O) L
$url = "http://japi.juhe.cn/image_recognition/findAll";
O! z% z* a" x% M1 N! `" b! a
$params = array(
' u. s2 N/ F: S% E1 J
"key" => $appkey,//APP Key
2 m$ S% V' p' e! f5 _0 X. l6 |
);
2 i0 _. q e: R( I- L- V4 ?$ |9 P
$paramstring = http_build_query($params);
2 y- b( L2 [4 J+ ~2 s) T+ V8 L
$content = juhecurl($url,$paramstring);
9 b, T9 @) H8 p" D3 s D4 a
$result = json_decode($content,true);
) O! O+ a* O1 ^5 V
if($result){
+ r9 k* K# h% [
if($result['error_code']=='0'){
4 A, O: A2 @! h1 x1 c3 E
print_r($result);
+ i! G3 d: q$ M& A ?+ K
}else{
' J8 q! G: c. X
echo $result['error_code'].":".$result['reason'];
7 U3 M+ T! K) u' R8 K* Q+ A
}
3 Q( p0 q$ K' T3 f0 p) n
}else{
6 M. F9 }8 j$ ?3 R# T9 n
echo "请求失败";
0 d- D( _8 d6 P( M \
}
9 S/ b. {* Z O3 Q1 y/ e2 m
//**************************************************
5 N) y/ B# P; ]9 E3 N
8 K( \8 i( B4 ^; E3 g
5 U, Q6 K: l: A3 d8 b$ |
- V$ I# U% o9 x5 U. F' n1 g3 a
9 R5 e3 Z7 H% e* b, c- |) e. s; h
//************3.删除图像信息************
+ t' E* }/ r8 G, U
$url = "http://japi.juhe.cn/image_recognition/delete";
( k0 s& H+ M5 G3 c' g& M
$params = array(
/ Z0 p) s8 R) X0 V, {* G
"key" => $appkey,//APP Key
5 v1 q6 U: B! G8 r
"imageId" => "",//图片ID
+ z, `: m t4 p4 @; [ l
);
9 W7 ^+ y/ n: f: l4 ]. a5 z# G
$paramstring = http_build_query($params);
8 r6 S* H& T* @, x, Q& z
$content = juhecurl($url,$paramstring);
9 @. ]. o7 m, z% r+ C# g
$result = json_decode($content,true);
7 s0 V' M$ K! k2 J6 o3 y: s% l: r
if($result){
3 V6 i6 F; W5 @+ |& F) v8 m
if($result['error_code']=='0'){
* t: i/ ~/ u* v5 M
print_r($result);
2 ^ J, X( y/ n: |/ F$ v3 m
}else{
9 k! u' d3 d; k% H4 y5 Q, ]
echo $result['error_code'].":".$result['reason'];
( I7 o: ?* _. |0 ]# |4 C ~
}
& m- t* e! p% U! \5 \0 c }9 p/ u
}else{
3 x( I( w+ V3 [8 k; s0 N
echo "请求失败";
( M* E$ m; {* s3 K+ c& r
}
) V. f7 P1 E% _4 Z9 }
//**************************************************
/ n' D% I6 y/ A- ]; V; t: G5 ?
- d" d8 C7 r+ a8 o
) e% }# a- c8 T+ R' i: X' C
: z; g$ X" u; B/ I
% P9 N- O' f3 c
//************4.图像识别************
4 a/ a0 k# J6 g+ n# W3 r
$url = "http://japi.juhe.cn/image_recognition/check";
' |% p% y1 \$ B8 V/ I9 i
$params = array(
* k: W6 r5 U5 b8 `: W
"file" => "",//上传的图片
$ q2 X) G% e) R/ \, A- O' g. e
"key" => $appkey,//APP Key
4 g9 \* T# l: G! i5 k. p
"pname" => "",//包名
6 z$ }1 Z) f2 M1 `. Q/ Z
"device_name" => "",//设备名称(如android OS或iphone OS)
# R$ n3 h8 V. v" K- t: V
"device_version" => "",//设备版本(如:4.0.3)
, T/ c( o: A; a3 x! d' K& `) e# W9 P
"latitude" => "",//纬度
+ I) z+ r7 a% j/ r! }' G9 R7 R
"longitude" => "",//经度
' {* ^+ ~5 |! ` c- L
"uuid" => "",//设备id
0 [$ D4 z4 e( S Y# u3 V
"zone" => "",//请求地区
/ j. }8 b5 z+ _) |0 k( Z
);
9 }. Y# @% ^; l- ~" D$ E1 Z7 u
$paramstring = http_build_query($params);
7 C# c5 `7 v y7 [# z4 y
$content = juhecurl($url,$paramstring,1);
- a* r4 ~8 \* L! _& d, K
$result = json_decode($content,true);
! m% k" s6 N: g
if($result){
( e$ M% K$ F( q/ Q0 H9 G% P
if($result['error_code']=='0'){
% D0 a% @5 b% }6 A1 ^* v
print_r($result);
. K) U+ x: o% `8 y! ]) ` R
}else{
4 o$ v/ V" t( j/ M! P
echo $result['error_code'].":".$result['reason'];
1 U7 u9 z5 O+ H6 ^$ C& T
}
# C7 n& l- w# |. H( W4 Q
}else{
* N7 L6 a8 K5 T9 r$ w- F' `8 k, K
echo "请求失败";
7 }5 x+ D3 H/ {, e+ ~: v0 v
}
% |8 b& h4 O' S0 e( v+ o( [
//**************************************************
2 B0 L0 C/ A: v& p5 _" v5 @+ f
! m6 n* Q9 Y: C% _- E6 V
6 k' T# f! {! n+ @6 v2 q0 u
" u! U' l% ^, g3 g' d7 j/ w5 r
" r5 v/ T- x( z6 s4 n
! o5 V2 W& ~+ r9 `% U. X
/**
" m; O; {( ^3 O
* 请求接口返回内容
% ?/ q( t9 T( `" [5 c3 g6 C: w
* @param string $url [请求的URL地址]
- h" u1 t; S- z
* @param string $params [请求的参数]
. y* e8 E' f; n+ b7 k/ M) }! O, R
* @param int $ipost [是否采用POST形式]
9 `) Z& ~! F7 ?" W1 b9 P
* @return string
; n! p' q( U3 _; S% y+ n& Y: o
*/
* _! I5 ~2 a0 h+ `7 a3 k# H
function juhecurl($url,$params=false,$ispost=0){
& Q4 [! q7 J/ o9 I% I& F& @( z# A
$httpInfo = array();
' H$ t2 D2 c" t ]4 y2 b
$ch = curl_init();
' |& x9 P' j: B! {; b: N% i
1 ]2 @* C) b& L
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
& U2 S. @: `7 C' A/ [0 q) q. V0 ~
curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
. S+ N& A; B* p
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
- E" W! h- a% p6 y( y/ N8 c+ Z1 _( J5 L
curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
8 n' a, X# m4 Q& t* C
curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
9 B" y" ]3 z* ]% y
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
0 O: Y+ s9 A# H) g; [1 H2 a
if( $ispost )
. s0 H, w5 P; ~7 j* a! D, u
{
( P0 Q/ D2 o/ B. _. g6 \; s2 E; u
curl_setopt( $ch , CURLOPT_POST , true );
3 ^5 f8 A8 j9 M6 K+ k+ E6 ^8 x* l
curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
) X; p! x$ i' h9 Q& X
curl_setopt( $ch , CURLOPT_URL , $url );
8 e/ r! o* u% Q
}
0 S" a9 B+ V# }% w# z3 ~' S1 R
else
- \! ]1 _5 t3 F1 E
{
( _" T$ I) |+ b' @) Y2 b' b
if($params){
& g$ q3 p8 W6 h, O5 `% _8 d, _( m
curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
, O8 X) z4 O2 X8 J/ e( F
}else{
0 \$ y' `# ~1 ^" B9 n# g% g
curl_setopt( $ch , CURLOPT_URL , $url);
% \" v, p0 _* N6 o3 p$ n* k9 P F: S
}
! m0 g- W6 Q* \7 t; e5 |
}
( ?! `4 T% p7 u% x+ @6 Q: n
$response = curl_exec( $ch );
4 C c0 I" g! X( i
if ($response === FALSE) {
% j8 U4 w. d% b
//echo "cURL Error: " . curl_error($ch);
+ E: k; ^% |& S. i- F& M
return false;
) e% H, |2 z/ F/ q- h
}
$ n5 `3 ?6 n* y. a0 u6 _
$httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
6 P# D' Z" t8 t+ Q
$httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
( r1 T. d& o3 o4 n9 \" Z
curl_close( $ch );
, V7 p) T6 K) g, d6 R* b
return $response;
( h g d. M% q
}
复制代码
1 g) P# A( X$ e, i& o
6 O3 s1 q7 E' s" @* Y
欢迎光临 cncml手绘网 (http://www.cncml.com/)
Powered by Discuz! X3.2