cncml手绘网
标题:
图像识别API调用代码实例(PHP)
[打印本页]
作者:
admin
时间:
2018-7-8 00:13
标题:
图像识别API调用代码实例(PHP)
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
$ j8 k0 g2 n: M+ X& i7 }% }0 h
1.添加商品信息
( ~1 _* G6 I9 \* Q
2.添加图片
8 e1 V' g8 d4 M" @, W8 p4 D
3.查询所有产品
3 [1 z, f2 }0 o/ ?/ |: r
4.查询某个具体产品信息
/ u% ?; _) I& n9 @: j% e1 i
5.删除某个产品
h& X$ |2 [' U8 p( h( |) b
6.删除图片
* ]# |' d! h$ @! s
7.图像识别
4 Y: E. p4 r: [" V9 ~1 x
: H: a4 O) i- }$ G+ ?
图像识别API文档:
https://www.juhe.cn/docs/api/id/117
,申请后生成AppKey
. U8 u* ?& m: _3 |# B& T* F
* A4 d3 G8 F ]# [7 y, o8 G* a
PHP示例:
& C, D* R- D' M8 w1 i/ o* G
<!--?php
; Q" r. S2 m- P* H' b: I" m
// +----------------------------------------------------------------------
/ j1 y$ J+ \- f& b1 w
// | JuhePHP [ NO ZUO NO DIE ]
( e- x+ c+ v7 T$ \3 [- l2 s
// +----------------------------------------------------------------------
" [9 `- I/ ?5 K2 C& }0 @
// | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
8 l; y. U% X) I) Q/ a; k
// +----------------------------------------------------------------------
$ w7 m5 m/ G$ J6 Y" k- l
// | Author: Juhedata <info@juhe.cn-->
( x$ j8 r G. O7 ^+ ~% {3 k
// +----------------------------------------------------------------------
! q6 s. }7 X) C- p; W# x
9 S- t: ^0 J" ~* i X7 ?
//----------------------------------
* y. b9 g9 K+ h- w. ~# E
// 图像识别调用示例代码 - 聚合数据
9 o, O6 s- K. [7 S
// 在线接口文档:http://www.juhe.cn/docs/117
* l3 |0 s5 x2 H% \: Y3 R. `1 w
//----------------------------------
3 ?, h# w L- _/ J
1 j7 w. ^" q$ b' K
header('Content-type:text/html;charset=utf-8');
* M3 @; i9 i# f* }) {3 B
. `" q% j2 W5 n% |2 v0 q
, T* v; A. {2 o
//配置您申请的appkey
9 r. y X, b3 Q+ K
$appkey = "*********************";
% V2 v4 @- F1 o/ V' N
1 F8 g6 p$ S3 p0 a$ ^0 H
% ^& L. t# d- k' W; g
; H% |: z0 _0 V/ r
* a1 ?2 d4 I+ `# s0 q" F
//************1.图像上传************
3 l. L5 ]# _! e6 `
$url = "http://japi.juhe.cn/image_recognition/upload";
9 i8 @- V4 r0 _9 {% `8 S
$params = array(
9 @. U+ [3 [9 g* P: Z4 F/ P" }: G
"file" => "",//上传的单张图片
0 o' T: T1 X+ |2 z. Z0 W
"key" => $appkey,//APP Key
$ U5 {0 y8 B( W
"pname" => "",//包名
5 w; u% w/ I" q# O+ w! p
);
( d# K% H( q& _. V7 I2 ?+ K
$paramstring = http_build_query($params);
, }; Q$ F& H7 ~4 U* B7 U
$content = juhecurl($url,$paramstring,1);
# N4 Z/ W! n9 U% ~
$result = json_decode($content,true);
! C( }: U3 ~# _: }0 s
if($result){
* F% w0 g+ d+ P7 }
if($result['error_code']=='0'){
$ G- U/ i; c. o0 }% U/ \0 `9 I* B
print_r($result);
: N m/ _) {& u" v/ f4 f8 u0 s
}else{
9 c6 P1 J6 d+ z% a$ J
echo $result['error_code'].":".$result['reason'];
+ ]# C+ M& @: k" R( C
}
% _1 |( h) W3 {0 A5 y$ _
}else{
7 s: K2 ~8 e: x) I& a2 Y" @6 D) `) q
echo "请求失败";
* K2 q# T6 M; }0 s, o
}
. [5 D( q5 c" o) o3 c3 c
//**************************************************
* U% ^7 r. \# M6 Z; }. }
) `. J% z" J1 k8 ~9 ~
9 K% Z @3 J' E6 }. ?6 V
. T9 Q2 D: Q- E
2 r# X. g% v/ `% l' B' ]
//************2.查寻上传图像信息************
1 a6 E9 l# D: n6 U/ M: p
$url = "http://japi.juhe.cn/image_recognition/findAll";
6 z8 w2 I: a" n& E
$params = array(
. H1 D, O J5 l4 A% t( ^; z
"key" => $appkey,//APP Key
* @& V( ?$ t: d# m( g0 u9 }
);
2 ~1 P2 Q- }$ F
$paramstring = http_build_query($params);
' q. D6 Q/ A) L, B4 T
$content = juhecurl($url,$paramstring);
/ ~& S) S; P7 z' \- r N/ k* v
$result = json_decode($content,true);
4 P' v8 \" \- ~+ L3 Z- R
if($result){
* O9 q Y& Z- Z3 g I
if($result['error_code']=='0'){
+ {! R z Z/ B
print_r($result);
1 U, f$ g8 Y( `/ j
}else{
3 C/ h A# Q' c: a
echo $result['error_code'].":".$result['reason'];
" x! o9 K4 X! j
}
6 N; }$ A5 w+ E' w$ Q/ N( d. ?
}else{
0 \9 e* L. A! b8 O; o# d' u, G$ I
echo "请求失败";
1 V. M0 Z& C e0 w2 e7 I2 h% g
}
9 n2 ` o* ~7 s9 q+ p- _
//**************************************************
) a1 E* ]: x; }7 ^
f2 c) y: B, j, M
) [ K6 s8 L& t T
# c* M# y8 g5 B' Y7 _2 a, [/ f& |
# ~2 C1 R" Y) m) M" ^4 ~: N9 Y
//************3.删除图像信息************
j. m9 `8 g1 k
$url = "http://japi.juhe.cn/image_recognition/delete";
4 s" @& w s3 Y, {6 b$ G
$params = array(
0 B* \3 i" ?. V2 s# V. `
"key" => $appkey,//APP Key
, A1 ~: T4 ?3 ?/ |: P! H
"imageId" => "",//图片ID
; |. U* n. D: Q- b$ Z% c( z
);
3 n3 _9 Y" |- e4 Q* b
$paramstring = http_build_query($params);
, |; |( T. [2 K& I( k6 o( z. {% D: e
$content = juhecurl($url,$paramstring);
w' M" F$ I% [3 s- U; u' S
$result = json_decode($content,true);
- t( @; q3 e% b2 `! Q s
if($result){
}+ u; R- n* L4 s
if($result['error_code']=='0'){
; Y9 v2 T/ s, J/ l
print_r($result);
4 h8 v1 p B% L1 q( d
}else{
$ M8 t1 |; h4 N
echo $result['error_code'].":".$result['reason'];
- a* P1 P( g7 M/ N3 Q
}
\, \4 r1 z: a' S+ m
}else{
% \9 s! }/ d) l3 y0 K! l3 p' f" J
echo "请求失败";
$ D! n; [: J4 j7 z* h) I5 g- D
}
5 K. u" d+ ]% f+ {+ s
//**************************************************
! W; L E8 b, z* N* o
+ B" `2 i5 z. O
' }3 i, N8 _0 j; N( A3 K
# l. _& C7 Y5 j1 A* t' T
5 L3 t1 D! {* B, a7 Y+ u
//************4.图像识别************
* s7 U/ l" w) U
$url = "http://japi.juhe.cn/image_recognition/check";
4 O! \7 J9 j: p) f- k0 D) _
$params = array(
1 }1 \, c7 Y& d0 b9 n
"file" => "",//上传的图片
1 E6 n' o5 P: J
"key" => $appkey,//APP Key
- y2 \3 F3 H5 x# t" r5 M* M
"pname" => "",//包名
; D- Y& u2 |" t4 l
"device_name" => "",//设备名称(如android OS或iphone OS)
" W' v, W+ O1 x( e
"device_version" => "",//设备版本(如:4.0.3)
5 `2 ^% f7 M3 z* R
"latitude" => "",//纬度
+ @! k( a. `9 S/ i& c
"longitude" => "",//经度
# p. z! K5 H1 I! K0 p; s& N$ X
"uuid" => "",//设备id
: b& i. F1 P5 G- X$ ~6 s8 H
"zone" => "",//请求地区
8 i, ?8 M6 l* b2 K
);
8 z* e: G1 J4 ]: O9 f6 g
$paramstring = http_build_query($params);
* _7 ~0 r! G" e: a; y
$content = juhecurl($url,$paramstring,1);
& S2 w. ^! m& f3 U
$result = json_decode($content,true);
; V, w9 R$ C/ f$ k
if($result){
# L ~6 X7 m+ L( @+ P6 c
if($result['error_code']=='0'){
6 r, H8 C. X* ]9 b$ B
print_r($result);
* s: h% u% E0 S Q& C
}else{
; n( |3 t% `; I5 V S: w
echo $result['error_code'].":".$result['reason'];
9 D: M3 ] ?0 e: V3 O5 E
}
' [# V% P- L8 m1 o+ h4 R) S3 X; \
}else{
1 j" u: E5 ^- e; R, U
echo "请求失败";
. z0 m& z" C, H) ^3 D1 }5 g
}
: @3 a* h0 I/ {
//**************************************************
# B! V7 w- O G% O( k6 X, \
4 ?. r; O" t: Q# N- v% w
: O6 M o: Q0 D! q. ^
3 A V- L4 J$ r( M
k! j" l% z' |( d. ~2 c9 x4 G
4 T. f4 h( a& f; m2 L7 e5 c
/**
# \' s! k# q* H; A* ?2 {
* 请求接口返回内容
' e: S$ n: S( M* ^3 T% F
* @param string $url [请求的URL地址]
0 `7 t0 B+ H; Z
* @param string $params [请求的参数]
9 l2 I; k+ W- e% X4 c* P
* @param int $ipost [是否采用POST形式]
Y r9 h: I) f' J3 [$ O0 L5 a
* @return string
4 W/ ]3 A" c1 V( N
*/
, f+ `) {: T5 T- q
function juhecurl($url,$params=false,$ispost=0){
# b1 D0 \( `/ ?5 q r
$httpInfo = array();
+ n. ^* e: ~0 R+ q2 s( h7 z
$ch = curl_init();
3 S/ A' v: e6 y- L
0 k1 b' S. o) O2 d! ?; ^
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
" s7 G) Q, v" u- C C/ j
curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
2 s* y+ _5 _# V+ l. _; ~0 r
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
* }: c1 \1 t( S: E6 G# x
curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
7 d( B$ K3 s p! @3 O
curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
/ g; Y. h7 z$ |) C n9 ?0 c" f
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
8 r) s, f! b5 P$ H' w4 \% ~
if( $ispost )
" o/ S" K7 f% `0 ?7 X
{
/ L% c5 J, R% C- f
curl_setopt( $ch , CURLOPT_POST , true );
) c% e6 C( X) ^9 S6 S) w% D
curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
1 @( s7 Z e' L, u' w% [
curl_setopt( $ch , CURLOPT_URL , $url );
: ^! d- j u/ W2 S: g3 T* s
}
2 g7 U8 r) {6 _1 j
else
4 o3 h0 S& _7 e2 o4 |
{
3 A( P5 a! H/ P# D6 [+ s- {8 k0 e4 b
if($params){
/ H% {3 x. p9 z6 c& z$ P
curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
+ V" D9 D% r% V
}else{
. T" s+ [4 c# a/ I, ^' ]
curl_setopt( $ch , CURLOPT_URL , $url);
9 W4 i( |( x8 k/ t, ^ D! F) w6 e2 G* j
}
6 _8 Y8 E$ q9 Z9 g% [
}
, M' Z3 S0 D; T
$response = curl_exec( $ch );
5 }0 @& F% Q0 @9 N' r+ ?
if ($response === FALSE) {
% f! s% s, k# e! c
//echo "cURL Error: " . curl_error($ch);
& o7 x. S' K, `; s9 @% P1 m- r
return false;
3 |: k) ~4 g, y
}
; F1 D$ q! K m$ h8 P
$httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
5 \: J) R% `' X2 g, H
$httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
; E+ v2 L5 @( {' T
curl_close( $ch );
# U- ^0 V: ?% s$ @) x0 Y
return $response;
5 l- Z* K M: J! R) b2 i
}
复制代码
8 f+ J V n6 z1 |
( q, E# k5 x7 |4 \' }# G+ Q
欢迎光临 cncml手绘网 (http://www.cncml.com/)
Powered by Discuz! X3.2