cncml手绘网
标题:
图像识别API调用代码实例(PHP)
[打印本页]
作者:
admin
时间:
2018-7-8 00:13
标题:
图像识别API调用代码实例(PHP)
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
: C; v/ G b$ p6 D0 l
1.添加商品信息
0 g7 q3 J9 j/ Q9 |! V
2.添加图片
( W9 S4 `/ i' b w7 \# f: s
3.查询所有产品
6 s4 h" B. e! k: D7 R4 |; W
4.查询某个具体产品信息
( [3 ~0 ]- T4 F
5.删除某个产品
; c; O- O! Z j3 L. q/ A
6.删除图片
( Z z, T* }% R. C0 `$ N
7.图像识别
3 K5 O" X# I c' t- C
6 T% a5 \% y6 X/ Y/ S' |5 W
图像识别API文档:
https://www.juhe.cn/docs/api/id/117
,申请后生成AppKey
, p$ W1 H5 b# N: C: f- }
1 U) Q1 R2 c- p; T3 F; }3 Q
PHP示例:
) l2 q0 N' r Z) } Z
<!--?php
6 L* C& a$ ?" Y2 C/ v# F( K
// +----------------------------------------------------------------------
# U, q3 \! D" f$ w, e; L4 X
// | JuhePHP [ NO ZUO NO DIE ]
q1 p/ d$ j! J* T/ K- C
// +----------------------------------------------------------------------
" T6 e G) {1 }4 T; K1 L' w: g
// | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
( o4 o0 Q9 `. [6 ?7 C \
// +----------------------------------------------------------------------
5 f: J# r3 h6 l D; v" C" t
// | Author: Juhedata <info@juhe.cn-->
% ~# G7 K( {$ t: F6 {0 s- z8 ]
// +----------------------------------------------------------------------
( W7 w! ~% h1 X
& w7 S: t7 H) j6 w& W' u; m
//----------------------------------
( m0 M' Z0 P. b2 j* S
// 图像识别调用示例代码 - 聚合数据
7 U3 F/ S- r" s7 N% M
// 在线接口文档:http://www.juhe.cn/docs/117
$ Z7 Y: j" ? m2 Y9 g# R w
//----------------------------------
6 c# n/ B; ?% T5 i; H- @! J
: N" r; p0 | d7 M" I! j& D
header('Content-type:text/html;charset=utf-8');
) V/ R( Y% B" t+ F0 b- C3 Y! Y
2 w' g6 P, M8 P- I& E
: s9 u. M. Q) J/ ]4 j5 X0 Z; D' B
//配置您申请的appkey
! K5 v; _% ~! o9 { I, x; N
$appkey = "*********************";
$ t$ J$ O4 b/ T8 Y2 A
' ?" W: Y8 K; `* `* @
( \4 l0 S& D1 o
: { p7 p4 `" T6 ~- i' X+ N
T5 B Z4 K, b
//************1.图像上传************
9 |: N# z5 U3 m9 C# _
$url = "http://japi.juhe.cn/image_recognition/upload";
: d4 p# V8 {# W
$params = array(
5 t5 D$ g3 o9 B4 l; Y- W
"file" => "",//上传的单张图片
4 j; [2 F3 a; ?; x4 W$ N5 f4 A
"key" => $appkey,//APP Key
3 n, v$ C+ {7 K( M% E- m) {$ M: @% u% W
"pname" => "",//包名
3 r' _+ r% [* l! q' S" F
);
/ o" {6 C% A: e2 U9 k
$paramstring = http_build_query($params);
/ u7 w q b6 {2 J# o3 q
$content = juhecurl($url,$paramstring,1);
& v; l1 O3 a" _7 ?0 A
$result = json_decode($content,true);
2 d5 B7 f2 Z) W. ~
if($result){
$ v' x2 }, M5 r9 R1 t+ u
if($result['error_code']=='0'){
, y9 T- c6 u& H0 s
print_r($result);
9 t, {" K, ]5 b8 h: L- v
}else{
x/ w7 m+ }: ?/ h1 `
echo $result['error_code'].":".$result['reason'];
$ M( B9 W; z) j9 A2 |/ h' l$ s) l
}
2 [ U! P7 T( h8 O% |3 h
}else{
( k/ g" b6 ~6 v+ ^
echo "请求失败";
+ B3 q' }/ u* Y6 l
}
3 I6 F+ M7 J! s# {8 a3 g9 _
//**************************************************
" v) [8 n! J8 s0 z9 S) u' V2 e
. G3 P- ^* c3 \" P& b8 N
! t+ A3 |8 _; u
+ u% ~ l: O B( a' g7 ]. }
$ \" s; C4 K4 G+ _7 }# ]& Z; ]
//************2.查寻上传图像信息************
* u4 S6 T' G/ ^0 L+ t6 A
$url = "http://japi.juhe.cn/image_recognition/findAll";
% c' N$ C9 R3 {3 w5 S
$params = array(
4 a3 n" [" _' B' h; r, K" b$ o. [5 c9 F
"key" => $appkey,//APP Key
' O' _& W3 {+ G5 y' n0 q' J
);
1 l+ a) ?* @! b/ N) I
$paramstring = http_build_query($params);
p! U$ h1 C8 _* c. N+ o5 y4 W
$content = juhecurl($url,$paramstring);
! W+ S& G# G" I
$result = json_decode($content,true);
9 y4 Y! h: S% N' ^0 r1 c1 B
if($result){
+ ]! k5 k: Z0 P: S# x
if($result['error_code']=='0'){
8 a( ?8 Y- ^- s5 i5 T2 g
print_r($result);
: @/ v% P; l& c/ X: y" s
}else{
# x' j! O5 d% q$ ~. S' E
echo $result['error_code'].":".$result['reason'];
. S% W- n/ z! r7 t* a+ F8 M
}
% B7 R! q/ r2 T/ Y
}else{
0 B4 S% c7 p2 x. |) U7 W. B) G
echo "请求失败";
# D& _1 y) S. @7 |" [6 l- G
}
/ J, K& q* r% L; c, U3 n* S
//**************************************************
0 S: F/ |0 F. A- @' H9 @$ _5 }' [& `
t/ V' U. L5 N$ ]6 Q
/ E% {0 U# E2 L5 l
- W9 k- g" X: A2 A& P9 }- A, V3 p
Y8 [4 e+ X4 n2 P' X# }
//************3.删除图像信息************
P g0 @- L$ G" l
$url = "http://japi.juhe.cn/image_recognition/delete";
7 i1 U5 o7 c! E/ m" u0 [
$params = array(
- N% ?, S6 Y% m& O8 j
"key" => $appkey,//APP Key
- J$ i, P4 ?& T2 f* S* O: t
"imageId" => "",//图片ID
. m$ J# _9 E1 F
);
- F# h! h: V& a/ }' H
$paramstring = http_build_query($params);
+ w$ z: r/ y4 v3 V) m
$content = juhecurl($url,$paramstring);
1 t+ B: g; N# m8 g( y) r
$result = json_decode($content,true);
! g+ U9 W8 i F/ r
if($result){
4 @1 u( o$ c! d# `( ~, I
if($result['error_code']=='0'){
: O4 n( M' W; D$ ^' [, m
print_r($result);
% k6 Y! l2 Y0 }0 f
}else{
+ _9 t; Q5 a T# o. H* P
echo $result['error_code'].":".$result['reason'];
. T( m' z7 m- q/ [9 U/ ^, [
}
N1 O/ _* I' I# y
}else{
- |" c) }6 m" o
echo "请求失败";
. n( E0 N- u8 C$ C5 o
}
( k* g9 N8 w" [& M, O Q, l
//**************************************************
, s0 H/ R+ m3 j+ C& x
8 B2 E' {- w D2 G
2 C# N$ j: h( F/ j
6 R# Y/ s7 s- E5 I) ?0 R+ A6 [
& A1 k' a, T8 E( f/ Y
//************4.图像识别************
9 b3 P" a9 M z9 a: r
$url = "http://japi.juhe.cn/image_recognition/check";
# Y5 p; F( Y+ g
$params = array(
) M3 D4 `# ~; m4 z% a
"file" => "",//上传的图片
* }5 `: P' @$ O
"key" => $appkey,//APP Key
9 f p* A6 x! @# E
"pname" => "",//包名
, ]1 M, w! N# g) ]( r
"device_name" => "",//设备名称(如android OS或iphone OS)
' @/ l* @$ t1 C% d4 R
"device_version" => "",//设备版本(如:4.0.3)
0 X7 B0 L9 z9 c' m
"latitude" => "",//纬度
3 P& b& S7 O0 }, l# n$ {
"longitude" => "",//经度
) o8 H6 W: ~* A. s% B
"uuid" => "",//设备id
3 }, ^6 i7 E5 {3 C8 V8 M/ J. D4 h
"zone" => "",//请求地区
8 ~+ |% m; U) _/ j, I
);
- u# G8 h* m. T7 e5 T: }* x
$paramstring = http_build_query($params);
- [+ H) B* K6 d( r! v& r8 D) J# T
$content = juhecurl($url,$paramstring,1);
+ R: z1 d% p7 K$ h0 M0 D$ ~3 o
$result = json_decode($content,true);
+ {5 a. ]- p9 E* x
if($result){
; P+ i1 C- ^+ Q1 l$ T9 M
if($result['error_code']=='0'){
; K" `; L( o$ A1 V
print_r($result);
- }2 I8 A. A! `* I: Q. K
}else{
9 B( h' ?8 w0 \) X' E2 K# o' q
echo $result['error_code'].":".$result['reason'];
& G e) y5 p! n9 K/ c( G
}
3 `9 U# h% L2 M$ y
}else{
3 S, p5 c7 E4 o8 g
echo "请求失败";
$ k7 R$ b1 x- ]0 [. M
}
6 _* L: M( B4 t* o0 K
//**************************************************
2 l3 z1 |; s/ y! y0 P1 H
5 b2 [$ o& z, X1 N
- ^$ v8 C. V. e5 t5 F% x
, C! {+ t; k' e& Q7 r
6 v- a% O; |' F' m
$ n7 F/ O$ n" Z4 B& k( b
/**
- O g0 W6 D* f# s. d
* 请求接口返回内容
l' W' H$ q9 H+ n l
* @param string $url [请求的URL地址]
; k/ o- G1 O) s# z. s* l
* @param string $params [请求的参数]
5 l7 y" T5 u7 b3 g! g6 @" N. x
* @param int $ipost [是否采用POST形式]
( a/ u1 J: L( V: O
* @return string
# Z% s5 z* x3 o4 G2 k8 K3 N
*/
L- \; T/ n4 [: Z+ c8 ~
function juhecurl($url,$params=false,$ispost=0){
2 I. K/ k, {$ `$ C- l# W
$httpInfo = array();
; n+ ?: G# o1 b# ?' K
$ch = curl_init();
. M, R3 R8 J1 Z5 v; B
2 d" f9 K: V0 w
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
5 r( K0 T! w6 z
curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
- v" J: \( e; Q- K F7 j
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
: D. C6 x5 B2 f! g5 m
curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
( U5 l5 S4 {: X
curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
6 F& v L4 m# _' e. v& D
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
* V' F7 [4 i) Q2 J. Y9 A) P
if( $ispost )
M# Q: D) E7 _ ?
{
b5 I$ o& s+ H+ N( ^+ z* w
curl_setopt( $ch , CURLOPT_POST , true );
/ S0 g6 s1 a) g
curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
1 I" T; n6 K! X, i3 [, F/ g
curl_setopt( $ch , CURLOPT_URL , $url );
- J+ {8 L8 r8 Z" k
}
; y) i7 H. r. ~- h( p( E) B
else
7 t* ~. X0 h/ s4 t
{
0 g+ W Q' a9 J3 E4 `4 P+ t
if($params){
" |) \6 P. n' J. a( \
curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
7 s9 M( l! s5 E7 q
}else{
2 w1 f* O. y; z0 T4 v- K+ Z2 i# G
curl_setopt( $ch , CURLOPT_URL , $url);
# Y1 i' m# T; x* d4 F( T4 g
}
& ~. l0 k7 o3 ^* G( m- a1 U; n* H
}
0 `& |* f; k d3 y
$response = curl_exec( $ch );
. c0 ]" P- Y2 r' k5 [
if ($response === FALSE) {
, q, n |1 O8 A- V( }
//echo "cURL Error: " . curl_error($ch);
0 o |6 O; N7 F4 Y4 i+ L h
return false;
$ w. N# r7 L+ I2 ~9 n! [/ E
}
# o c" s r3 I1 X& ]8 |
$httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
. w9 j+ p1 y2 `: m* m9 j
$httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
, K4 T! m9 l1 V
curl_close( $ch );
5 Y8 g3 G& s. N: p& K% [ U; O
return $response;
3 ] S, q6 s* x5 d& z
}
复制代码
' r X# l. z9 q0 b8 `5 a
{# e% e- g, A! s" ]
欢迎光临 cncml手绘网 (http://bbs.cncml.com/)
Powered by Discuz! X3.2