cncml手绘网
标题:
图像识别API调用代码实例(PHP)
[打印本页]
作者:
admin
时间:
2018-7-8 00:13
标题:
图像识别API调用代码实例(PHP)
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
6 I$ A6 ~1 m0 i/ g8 {! b
1.添加商品信息
/ [% o1 D: `% C* s# _4 j* g2 b+ ?
2.添加图片
9 G+ v1 B2 `# D
3.查询所有产品
8 y) t# V4 n3 U- S6 M4 _
4.查询某个具体产品信息
2 L" v) M$ A* _
5.删除某个产品
# m/ I) d$ S0 P
6.删除图片
0 j: v! q2 Z: [; |; O
7.图像识别
: m/ M4 y; H! n
$ F1 R! B' o* y* H7 u% n8 ]3 x
图像识别API文档:
https://www.juhe.cn/docs/api/id/117
,申请后生成AppKey
" F2 v- J" }+ f" m. d v& m
5 J9 X' H' T1 C$ F: C2 H& K
PHP示例:
" e; f& J4 g" r9 K
<!--?php
( p* S7 A5 \% {
// +----------------------------------------------------------------------
: i2 a0 ^' I0 M# Q
// | JuhePHP [ NO ZUO NO DIE ]
9 ~0 d. I, U, ?6 Y% }6 U3 Q9 C
// +----------------------------------------------------------------------
" q9 ~4 n& A) N$ C7 o6 p% S
// | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
4 N+ |) j7 \ u3 g. f! E: K4 d% |6 b
// +----------------------------------------------------------------------
3 H b j4 A' u8 n4 a
// | Author: Juhedata <info@juhe.cn-->
( N6 v. I+ G4 n0 s
// +----------------------------------------------------------------------
. f7 F* V8 p/ Z$ }) O7 Y
8 R+ R; ~4 v4 ~
//----------------------------------
0 |2 J; {. e. c. `" p# P
// 图像识别调用示例代码 - 聚合数据
7 E, o) J4 ^- M, |9 ]3 R" u
// 在线接口文档:http://www.juhe.cn/docs/117
* M$ {. s' _ G9 S
//----------------------------------
$ b4 R% {/ ]5 K: u/ k @
) N" {4 x: _9 U! u; C) \
header('Content-type:text/html;charset=utf-8');
, C8 `& t3 l g3 ?' o2 ~
' q$ V- k5 E! Z0 P& q
] r9 k+ @8 N) F3 r; H1 V
//配置您申请的appkey
4 ?6 g; R2 a. ]) W2 V
$appkey = "*********************";
9 T9 h8 V: q# t/ q$ [
4 A+ \$ y- G7 R
% H5 o0 ^3 e. g: { ~. B; z" h
* d$ ^( k5 P6 p4 X5 H4 o0 @
- c) X/ l4 e9 e
//************1.图像上传************
1 P* Y( r( J- w" T
$url = "http://japi.juhe.cn/image_recognition/upload";
( S( Q) C$ O! y: }
$params = array(
2 \: n6 Y7 h& P1 F* @( w
"file" => "",//上传的单张图片
- T& I' B; q7 e+ o# g& ^8 i
"key" => $appkey,//APP Key
6 O. B$ x# @! r& E- f* X6 S: a
"pname" => "",//包名
A y! M( ^ l$ W4 P' v( c) Q4 J8 J
);
. l. e2 B& Q0 N( b. J- C* z& {1 s
$paramstring = http_build_query($params);
, T/ C- K: H- o+ Z8 ?
$content = juhecurl($url,$paramstring,1);
, J3 g! y/ ~& G5 b" Z
$result = json_decode($content,true);
3 U8 I0 y3 X" g% @
if($result){
0 A1 H9 A p, l) c# ]
if($result['error_code']=='0'){
$ g4 K: ?' }: i) x6 }+ W
print_r($result);
$ Y/ E: P$ O0 R: u1 [ ^3 k R( r
}else{
( w) R$ \3 a) K( e# u
echo $result['error_code'].":".$result['reason'];
7 h* ^. b8 | y3 v; s/ [
}
4 x& R, z; d6 B u& D3 ]
}else{
! x2 H3 z3 q2 q
echo "请求失败";
6 R2 e+ F6 `7 J! Q; Q& F" A+ p+ |
}
6 v/ R; s( G1 W
//**************************************************
$ H; s: ]# v+ S' j
% z1 L: Y; S ], i+ r9 ^
' A/ W. B4 y s. o5 M; t: O
. z0 z8 u8 O! u8 x( Y5 s$ R
- |% l4 B. v' G4 H- h
//************2.查寻上传图像信息************
" T" T9 J+ M) Z) `, \
$url = "http://japi.juhe.cn/image_recognition/findAll";
" C# V- M, _( Z" N6 }8 a
$params = array(
* S- J, E: i5 H% L |5 A! I
"key" => $appkey,//APP Key
0 t( y4 o; F8 e" F, r1 i& P: l
);
6 ~7 o# R! h1 y' Z5 _% L& M
$paramstring = http_build_query($params);
7 b) H% t+ h4 }/ |' b7 t! F" S
$content = juhecurl($url,$paramstring);
8 N- X. v/ }* E! Y1 L- L
$result = json_decode($content,true);
* M" S; x M: |% h8 I- Q. M+ p
if($result){
' l B4 ?6 h0 @
if($result['error_code']=='0'){
! b* z" b) Z h' h" n
print_r($result);
7 Q& a2 [1 y0 q: j
}else{
+ k+ v5 ~! n; o; m, @, `
echo $result['error_code'].":".$result['reason'];
7 j5 G( R0 B( U# W0 u. S1 l
}
8 h4 Y1 |" a9 X7 }5 O
}else{
6 {# Z- S' r# Z: M5 @
echo "请求失败";
8 i8 U5 R9 ^7 S# ~+ V
}
2 `* t" H: N0 y
//**************************************************
) s) o- A$ Z3 }0 V& y% y2 }0 \8 x
2 J2 L9 r2 ^9 N( S* L
& z' t8 X& O9 @4 [+ X" C0 S- x
7 ~7 w, ~! V5 P- ~5 B3 `1 s! v
7 n3 e+ X7 ]9 ~- z3 ^
//************3.删除图像信息************
9 t$ Y7 K& u |5 ~4 f, B5 t% L- U4 \
$url = "http://japi.juhe.cn/image_recognition/delete";
7 A, X3 }; O7 w/ _
$params = array(
/ C7 `. u0 v7 A" i# c* l V
"key" => $appkey,//APP Key
: k* d* ~( g0 Q; s5 ]7 H- z$ n V
"imageId" => "",//图片ID
% v% L- G6 m7 p% Z# l8 I& P
);
* \$ k9 x- ~/ _- p& _1 y+ a
$paramstring = http_build_query($params);
+ [+ h; T9 e t U, a. z5 i" k0 g
$content = juhecurl($url,$paramstring);
' k* t8 a3 @8 l, }+ w, o
$result = json_decode($content,true);
" \6 B( S9 C+ }! Q
if($result){
2 S$ m. T+ F4 t" R, e( Z
if($result['error_code']=='0'){
- C3 X% p* k( d& N9 t. G5 p
print_r($result);
# \7 n& E: M3 t: @. X
}else{
% O; u; p4 Y' Z; O, e0 c+ }
echo $result['error_code'].":".$result['reason'];
3 d, k5 @/ \0 o
}
% A9 B T( ^3 c U
}else{
2 \: k0 f2 \5 ?* }
echo "请求失败";
5 e" h1 f+ A: _1 x1 i% D6 _
}
. B w2 X. g. R
//**************************************************
' C; q4 i* M: q- S* L
* p) A) Y: z3 }* P) v) p, g
& r( l# M1 d$ h& ` f! f9 x
+ x3 z; _# j0 p+ @
3 X8 |/ ^6 O2 l8 D, K
//************4.图像识别************
& p5 Q: C* h! `+ i8 j- I
$url = "http://japi.juhe.cn/image_recognition/check";
: d8 a% v( v# L! R J, D5 y
$params = array(
8 C9 n1 f- v Y8 D3 ?* _ v- C! F! C
"file" => "",//上传的图片
% S4 G# \- ~! Y8 ]$ v; L' s0 x9 S/ X
"key" => $appkey,//APP Key
0 b- O3 r3 z: P3 ]) ?% Q2 q- t% F
"pname" => "",//包名
0 ^1 v. C' [; a! I ?/ r
"device_name" => "",//设备名称(如android OS或iphone OS)
6 M. T7 _. P$ ~* o% r( V
"device_version" => "",//设备版本(如:4.0.3)
* b8 { _8 R4 M7 G$ q
"latitude" => "",//纬度
7 d1 c5 v& E& [9 C5 O& T+ i/ z
"longitude" => "",//经度
/ R% U9 s5 V4 Q7 l" \4 I* E
"uuid" => "",//设备id
$ b- P& D; t, u; X8 ~8 l) x
"zone" => "",//请求地区
, n7 m. W) a5 I5 R" G' |
);
) K0 p: z2 I! S9 K1 g
$paramstring = http_build_query($params);
: b* j5 Q$ ?( h3 }
$content = juhecurl($url,$paramstring,1);
$ m$ F8 O. l: l
$result = json_decode($content,true);
/ c- z v( O& d% V* @6 i
if($result){
2 ]7 b- N$ v) F7 |) I) y* I& c3 [# h
if($result['error_code']=='0'){
" t+ I6 c/ b; A0 G& a9 W: t# d
print_r($result);
: r; h" a+ r1 H- Y D P I
}else{
. v, ]- O+ p) T1 b: B
echo $result['error_code'].":".$result['reason'];
. ?0 k& ~) w: F! `0 L @
}
' Z- E! @8 H- `
}else{
* X Z- Y6 p+ S3 P
echo "请求失败";
, Y q# D/ c" r1 T% D0 m9 j8 h
}
0 O# i5 ]- s( F; r# `
//**************************************************
Y1 m5 ^! C, d9 c' M
; z" s, g' z0 p
- ?/ `6 l" I. w+ x m
2 k/ ^% ^0 |% M; T
: L6 P* m/ g' |' e) X
! W+ s6 \+ ~; h! e: g9 C# r
/**
& N- ] O- r3 N' ~
* 请求接口返回内容
4 G8 O9 G9 b) b- C: G2 G' G2 Q
* @param string $url [请求的URL地址]
8 Z" ?2 @1 ^. k' v e2 ^
* @param string $params [请求的参数]
0 C5 I9 X6 ~( M' M/ N: B! c& p+ M8 y
* @param int $ipost [是否采用POST形式]
7 U( |4 S1 `8 _8 M. L, I; g6 X
* @return string
6 l0 B8 o4 O) {* ]; E
*/
' t$ i5 V/ l' g% l" z9 q& G
function juhecurl($url,$params=false,$ispost=0){
3 P* T# B& w& R# W. E! L
$httpInfo = array();
7 W, `( S: _" e* o4 H# t
$ch = curl_init();
- N8 ]; a( p( h9 l1 t
& \+ w6 r2 o: N5 v8 |5 r2 X" x8 I4 B
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
# T- K( I' O* U& \) e8 |
curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
2 p/ G; f3 Q9 E3 y/ D) @
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
y6 H" ~* l5 u7 Z! L- |
curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
) t: b2 M9 X& [( M" Y' z) v% Y
curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
z; O( @5 t$ Q- i! G; H& k
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
: r# s0 p6 U" u9 L
if( $ispost )
+ v8 B' q5 J) m- C1 Y
{
, F% A# ~' Q- k) C G5 U
curl_setopt( $ch , CURLOPT_POST , true );
/ U% o3 V4 Q+ t6 j
curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
& z0 d: E1 v6 a1 d' _
curl_setopt( $ch , CURLOPT_URL , $url );
M* k! d8 Y& V9 h2 P& j
}
! B# b5 a" a2 _6 b
else
1 p: _7 F" A7 j2 T6 P
{
^3 t p) ]. {) M
if($params){
& p7 A4 { K1 @
curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
6 I5 Q6 A/ ]7 |5 m( j' [. j1 V$ Q2 F* z
}else{
6 H- S! ?3 }' Z* I; b9 d$ K- T% s3 v
curl_setopt( $ch , CURLOPT_URL , $url);
4 \0 r4 y7 @) }9 M5 ^' z, B
}
$ M: x8 B! u P: \2 s& a3 C
}
/ M" i: S+ D- V& \4 e
$response = curl_exec( $ch );
: ?, Y# D# J4 c- ~8 Y: O
if ($response === FALSE) {
* L* D, E1 i. r7 N
//echo "cURL Error: " . curl_error($ch);
+ C3 [ p% Z9 J% x" D( @/ J
return false;
9 |( ]: ]: x2 J! h& s3 H
}
0 J9 z$ N) _4 v
$httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
# t. m8 o+ e6 H! q" y2 J) |0 ?
$httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
! O2 h2 T7 P! }0 g% Q8 a4 ]
curl_close( $ch );
6 Z7 T' n/ k4 {" f
return $response;
) t6 S- M; g0 O! m$ q! }( f
}
复制代码
' d4 A* D$ N2 e3 [- m# [/ ^( Z
0 T1 f) `1 K9 `$ p1 t7 v4 ]
欢迎光临 cncml手绘网 (http://www.cncml.com/)
Powered by Discuz! X3.2