cncml手绘网
标题:
图像识别API调用代码实例(PHP)
[打印本页]
作者:
admin
时间:
2018-7-8 00:13
标题:
图像识别API调用代码实例(PHP)
提供B2B的移动商务解决方案,通过图像识别技术,通过摄像头扫描直接查询和购买商品。
: f$ k$ L! E7 L8 T+ e
1.添加商品信息
8 ~, G! N/ a9 T) p
2.添加图片
$ Y7 ]1 ^: ^4 x; \( h; V G& c }
3.查询所有产品
: g. K; o- ^+ Y2 z$ c$ J
4.查询某个具体产品信息
" c0 g4 q4 z+ H* \
5.删除某个产品
5 _! ` N0 J+ Q& v7 @
6.删除图片
! k: a* M2 \/ g! ^0 Y$ u6 f
7.图像识别
: q1 N q) [2 Q
' Z, W+ A, o8 C8 D |7 ?: F# J
图像识别API文档:
https://www.juhe.cn/docs/api/id/117
,申请后生成AppKey
+ C. M$ F* }* Z# B- R
0 Q3 j& \1 o5 L' h; E
PHP示例:
2 R% d) Z# ^9 ?3 t. o/ U: N+ J
<!--?php
# F8 p5 _8 \: F' h' D3 u. [& _. C$ t9 U
// +----------------------------------------------------------------------
( L F1 j% L. \2 \5 A0 G1 z- m
// | JuhePHP [ NO ZUO NO DIE ]
. M: }& k# N% v8 A0 j6 I9 O: E9 J
// +----------------------------------------------------------------------
. M6 H5 V: K! I
// | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
6 K* G! ~3 Y0 A4 \9 L
// +----------------------------------------------------------------------
' }$ L0 U# R4 ?) F" e" E6 [
// | Author: Juhedata <info@juhe.cn-->
6 ]4 k) L' H% r
// +----------------------------------------------------------------------
/ I& {9 A- v5 W3 I4 q# @" a6 B
5 q* y2 H# f( X0 H2 G o1 m T7 K
//----------------------------------
u" ?1 Y1 t3 R5 G
// 图像识别调用示例代码 - 聚合数据
2 F; D$ [ \: o1 O J6 S
// 在线接口文档:http://www.juhe.cn/docs/117
" G7 \* I* J! l3 n
//----------------------------------
^4 _% z. l; w# x* |" |% Z
7 L/ b- w+ Q2 E7 y. F* S. ]
header('Content-type:text/html;charset=utf-8');
; I8 T2 Q4 D# u
/ q+ {$ x. M: N, N2 ^7 a5 B0 }: @
, W# B# `/ s, I1 R$ L! g O
//配置您申请的appkey
$ Q: {6 `; y3 M/ e/ |. Q
$appkey = "*********************";
) h1 x* U n2 r% W3 a
7 T$ V7 {: }. v# n. u1 P6 L
, L1 z% M* j5 w* }5 Q
7 h6 ?; P& I0 v* r
. t S' z9 }" R' W5 P0 }1 o: ^0 x
//************1.图像上传************
% _ r; I4 [" S& L
$url = "http://japi.juhe.cn/image_recognition/upload";
+ z; x8 Y7 f* u" z" q$ b1 C
$params = array(
# M7 l1 U2 m3 Q- ?9 J
"file" => "",//上传的单张图片
3 ^$ |6 x. V- ^& u A/ { Y
"key" => $appkey,//APP Key
: a& J) {9 j k
"pname" => "",//包名
" n, X$ K: [: d
);
! J' w7 ~4 b. h! W
$paramstring = http_build_query($params);
% r1 `1 O2 ~- m* c3 o
$content = juhecurl($url,$paramstring,1);
+ @3 U, `) N) b+ m+ C
$result = json_decode($content,true);
{, } p; A$ R' q: B* a
if($result){
/ I8 _( f$ G4 A+ D; A U# \7 @
if($result['error_code']=='0'){
. q/ R6 V- u6 C0 j7 M
print_r($result);
* c5 u* h# F, Q8 V, g
}else{
, \) S9 `$ W: q. n- I$ H$ C" t
echo $result['error_code'].":".$result['reason'];
& R7 r3 `7 t# O: j
}
7 |# j, |3 v5 J7 K1 O7 f' P' J
}else{
/ ?1 d& ~0 S* L9 a+ ?
echo "请求失败";
' V# S; y. e* A" {- C' f
}
* C1 M0 `2 L3 c
//**************************************************
. Q5 Y9 b( G5 H6 A* n3 A' Q/ W7 v
! Z5 q! {5 x( |% a+ ~6 d6 I
& r9 U! a6 T. ]3 H( |
! }0 \) X: O0 v0 l6 H5 ~, B7 C' P! G
" G) A" n* p* v$ x. _ a- N
//************2.查寻上传图像信息************
! J" Q8 z3 _# n4 L+ @& a6 J& z
$url = "http://japi.juhe.cn/image_recognition/findAll";
$ Z. B2 F& H V+ {4 v( n
$params = array(
/ S8 @" u/ v, X# ]5 x
"key" => $appkey,//APP Key
7 T8 |- |, {# b1 ]( c
);
0 V0 l t0 f& ?6 S8 c% V
$paramstring = http_build_query($params);
+ c$ E" I' q$ X( o6 o
$content = juhecurl($url,$paramstring);
, O1 u! i G! |' _7 q2 i% q7 U6 h
$result = json_decode($content,true);
; ]# ?1 f% c' @0 ] v Y( s
if($result){
5 x* a3 o5 N5 ~. t8 G4 ^# C
if($result['error_code']=='0'){
: N Q @" h8 U$ i0 [' v* _& Z0 D$ P4 H
print_r($result);
1 C2 l& U, r9 O) t; H/ A/ y
}else{
$ F3 m' ~ u5 a% j
echo $result['error_code'].":".$result['reason'];
" _ l5 D9 A$ ]! W! O
}
2 c" }1 G* [; F! V# D4 l$ Q
}else{
v1 t9 h* v7 P+ N/ E
echo "请求失败";
/ n* y" L( N$ G% G' a& E
}
" {' d; ]4 c1 Z% q, q
//**************************************************
6 d) {4 Z& {$ N$ ]
9 o% n) l$ [ K) c6 V$ U
) `& h" M% O- h
0 Q, g' z' L+ ~( a q
! F" Q: T$ [) e3 j
//************3.删除图像信息************
" D1 z# w q/ ~
$url = "http://japi.juhe.cn/image_recognition/delete";
2 x3 V) e9 H0 l) S
$params = array(
; _2 S7 T. V2 \! ~) M0 q& {* d
"key" => $appkey,//APP Key
4 l; j0 t* P% O) L) t
"imageId" => "",//图片ID
' P. f& K& w2 L$ f; }2 ^
);
( {9 e- b a/ s2 P
$paramstring = http_build_query($params);
7 {7 T7 G. n. d
$content = juhecurl($url,$paramstring);
( @5 W6 I9 B2 e* T2 T8 g) ~% ^1 z
$result = json_decode($content,true);
0 u1 v* Q8 |$ A7 L6 e) G' V
if($result){
1 ]% w( y+ d) ]/ M0 R
if($result['error_code']=='0'){
/ D! U, k& R# S2 n: |
print_r($result);
+ ^( F7 s2 \4 H. K7 Q( o# e
}else{
- u# G" @+ W: Q, {% a( F" w2 E$ N
echo $result['error_code'].":".$result['reason'];
$ W$ E+ w9 Q/ [ M
}
1 u7 m4 O4 e/ g7 O
}else{
4 X) C# R7 z& [; W/ q! |9 t
echo "请求失败";
+ k+ f4 Z2 x" T( L1 l; h6 K
}
' [+ L" [% B9 j( V# D' Q1 n/ n+ J2 y
//**************************************************
2 u. O$ u. I3 x7 O
. g) g. |& X0 ^3 k& E; @
- R4 A0 x* \! z
0 A0 B8 Z( k' A5 j8 x
2 O- I4 R& T& O! N9 K: m! |& r; p( B
//************4.图像识别************
0 t9 C2 h) H8 m
$url = "http://japi.juhe.cn/image_recognition/check";
& b4 t% ?( X, }1 ?0 R3 n
$params = array(
; J/ B) ~$ z5 K7 ?0 E5 @
"file" => "",//上传的图片
" ]& V. \7 U1 G
"key" => $appkey,//APP Key
+ P/ c& B! H- i3 v% f& v2 o
"pname" => "",//包名
. L& A9 d9 s% e
"device_name" => "",//设备名称(如android OS或iphone OS)
* ^# b2 V% y1 x# P p
"device_version" => "",//设备版本(如:4.0.3)
3 [+ p/ |0 I- w' k! Z9 O8 Z
"latitude" => "",//纬度
2 s* T$ L" i1 S& N6 p
"longitude" => "",//经度
5 D7 s8 i0 r0 Q6 J
"uuid" => "",//设备id
( J1 m L5 ^) R
"zone" => "",//请求地区
2 u4 o& ?3 i" O: @/ I
);
! X1 D+ |- A7 ~* ]% G$ h4 C
$paramstring = http_build_query($params);
/ b& o! Q& z l. h$ G- A
$content = juhecurl($url,$paramstring,1);
7 r4 k, [# s7 X, \# R
$result = json_decode($content,true);
r; o: h4 G! g( u
if($result){
" i }5 p+ O" e" u0 A. |
if($result['error_code']=='0'){
W4 c' s+ s5 i, B# C+ k3 }
print_r($result);
g% H* a* j, J2 B
}else{
1 x- C; c& E7 i( e ?
echo $result['error_code'].":".$result['reason'];
" J: @2 R, l) L- z
}
5 F! c# J- D8 s
}else{
7 x3 w" w: Z; T5 H K
echo "请求失败";
9 V" a- v5 Y) j; \, @2 t
}
+ m/ W# K3 A: U8 K2 j3 P, Z
//**************************************************
$ F4 k& r9 j0 z! f
* S }/ {% R! M5 Z/ ]$ m
( G' m1 R3 H1 O6 n% T8 X
m2 X4 g9 h3 W& l* m# a. _
7 R9 m1 x5 C5 e: w8 G
1 b. r7 z' Y. L! a
/**
0 l! n& }2 ?2 o: P$ d" W: v
* 请求接口返回内容
' u4 @+ G. k5 A2 ?
* @param string $url [请求的URL地址]
/ H3 `6 v6 E# Y2 Y
* @param string $params [请求的参数]
0 F4 u3 M. W- p! i" |1 G
* @param int $ipost [是否采用POST形式]
( y6 i( d4 N/ h2 d N1 K% i
* @return string
2 W, g% q; D7 D4 i9 G* Y
*/
4 G5 @: t2 |/ Z( Q3 i
function juhecurl($url,$params=false,$ispost=0){
7 c+ c+ J0 O# w! A( d
$httpInfo = array();
' m% R/ K4 {' B
$ch = curl_init();
0 t6 g0 E& i. ~8 {1 H; g- X/ D, S
! z6 P+ C. m+ n/ ] e0 N
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
2 G; }9 o+ M0 B* N
curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
/ [* u9 D+ o% \7 ?/ A2 o
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
4 a( q+ X7 i$ {+ G$ O* X2 M1 k" _
curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
, L" t0 ], n9 B, q
curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
/ w5 k. k) {" g0 G0 e7 }- J7 K
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$ u2 @0 Y: R3 [6 U, N& B f- P9 w
if( $ispost )
! k2 D) D1 T- L7 N5 I
{
0 S' _* K; N( ?. `0 ]
curl_setopt( $ch , CURLOPT_POST , true );
0 ?0 \) ?3 C9 g% q: j b1 c5 q
curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
1 f! k p" J/ f% a. J
curl_setopt( $ch , CURLOPT_URL , $url );
$ _% r* v. e/ l
}
x9 s' w. @( @
else
- r2 r! f, i9 t" C- H, c
{
* U: v& i! p; i( W6 [
if($params){
0 o' l0 s7 U3 A G4 b
curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
" y( C- s( u" E/ g! P% X ?. P
}else{
4 r4 [3 S6 b% z
curl_setopt( $ch , CURLOPT_URL , $url);
4 p( h; ~" D1 x2 ]% a
}
$ s8 H* `3 `0 F
}
6 y+ \) y# d0 Y' _, T
$response = curl_exec( $ch );
, d3 X% q% \# K( a V0 G
if ($response === FALSE) {
5 R8 H/ A$ ^ A1 w3 ^9 F
//echo "cURL Error: " . curl_error($ch);
7 y+ [: a. G! x6 x1 k) ^
return false;
7 F# O# X9 Z% M7 z. A$ }, a
}
! M, {: ~ @/ ^3 _2 A. U1 [5 e1 Q
$httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
% V( O5 A- p5 c! K: n% t
$httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
" {3 Z2 [5 e. A- [5 ?+ j6 d
curl_close( $ch );
3 w* `) A- b9 g) D+ z1 r0 e/ V
return $response;
2 V! D. N7 M! N1 r! {. ~' {' @
}
复制代码
& X7 f( w$ a2 U9 B! v+ a) Q
( I0 G7 x \, L+ l
欢迎光临 cncml手绘网 (http://bbs.cncml.com/)
Powered by Discuz! X3.2