first commit

This commit is contained in:
编码猿
2024-09-27 01:32:49 +08:00
commit 28ebe05a64
7399 changed files with 1174529 additions and 0 deletions

View File

@@ -0,0 +1,724 @@
<?php
/*
* Copyright (c) 2017 Baidu.com, Inc. All Rights Reserved
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* Http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
require_once 'lib/AipBase.php';
class AipImageSearch extends AipBase {
/**
* 相同图检索—入库 same_hq_add api url
* @var string
*/
private $sameHqAddUrl = 'https://aip.baidubce.com/rest/2.0/realtime_search/same_hq/add';
/**
* 相同图检索—检索 same_hq_search api url
* @var string
*/
private $sameHqSearchUrl = 'https://aip.baidubce.com/rest/2.0/realtime_search/same_hq/search';
/**
* 相同图检索—更新 same_hq_update api url
* @var string
*/
private $sameHqUpdateUrl = 'https://aip.baidubce.com/rest/2.0/realtime_search/same_hq/update';
/**
* 相同图检索—删除 same_hq_delete api url
* @var string
*/
private $sameHqDeleteUrl = 'https://aip.baidubce.com/rest/2.0/realtime_search/same_hq/delete';
/**
* 相似图检索—入库 similar_add api url
* @var string
*/
private $similarAddUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/similar/add';
/**
* 相似图检索—检索 similar_search api url
* @var string
*/
private $similarSearchUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/similar/search';
/**
* 相似图检索—更新 similar_update api url
* @var string
*/
private $similarUpdateUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/similar/update';
/**
* 相似图检索—删除 similar_delete api url
* @var string
*/
private $similarDeleteUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/similar/delete';
/**
* 商品检索—入库 product_add api url
* @var string
*/
private $productAddUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/product/add';
/**
* 商品检索—检索 product_search api url
* @var string
*/
private $productSearchUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/product/search';
/**
* 商品检索—更新 product_update api url
* @var string
*/
private $productUpdateUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/product/update';
/**
* 商品检索—删除 product_delete api url
* @var string
*/
private $productDeleteUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/product/delete';
/**
* 相同图检索—入库接口
*
* @param string $image - 图像数据base64编码要求base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* brief 检索时原样带回,最长256B。
* tags 1 - 65535范围内的整数tag间以逗号分隔最多2个tag。样例"100,11" ;检索时可圈定分类维度进行检索
* @return array
*/
public function sameHqAdd($image, $options=array()){
$data = array();
$data['image'] = base64_encode($image);
$data = array_merge($data, $options);
return $this->request($this->sameHqAddUrl, $data);
}
/**
* 相同图检索—入库接口
*
* @param string $url - 图片完整URLURL长度不超过1024字节URL对应的图片base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式当image字段存在时url字段失效
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* brief 检索时原样带回,最长256B。
* tags 1 - 65535范围内的整数tag间以逗号分隔最多2个tag。样例"100,11" ;检索时可圈定分类维度进行检索
* @return array
*/
public function sameHqAddUrl($url, $options=array()){
$data = array();
$data['url'] = $url;
$data = array_merge($data, $options);
return $this->request($this->sameHqAddUrl, $data);
}
/**
* 相同图检索—检索接口
*
* @param string $image - 图像数据base64编码要求base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* tags 1 - 65535范围内的整数tag间以逗号分隔最多2个tag。样例"100,11" ;检索时可圈定分类维度进行检索
* tag_logic 检索时tag之间的逻辑 0逻辑and1逻辑or
* pn 分页功能起始位置0。未指定分页时默认返回前300个结果接口返回数量最大限制1000条例如起始位置为900截取条数500条接口也只返回第900 - 1000条的结果共计100条
* rn 分页功能截取条数250
* @return array
*/
public function sameHqSearch($image, $options=array()){
$data = array();
$data['image'] = base64_encode($image);
$data = array_merge($data, $options);
return $this->request($this->sameHqSearchUrl, $data);
}
/**
* 相同图检索—检索接口
*
* @param string $url - 图片完整URLURL长度不超过1024字节URL对应的图片base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式当image字段存在时url字段失效
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* tags 1 - 65535范围内的整数tag间以逗号分隔最多2个tag。样例"100,11" ;检索时可圈定分类维度进行检索
* tag_logic 检索时tag之间的逻辑 0逻辑and1逻辑or
* pn 分页功能起始位置0。未指定分页时默认返回前300个结果接口返回数量最大限制1000条例如起始位置为900截取条数500条接口也只返回第900 - 1000条的结果共计100条
* rn 分页功能截取条数250
* @return array
*/
public function sameHqSearchUrl($url, $options=array()){
$data = array();
$data['url'] = $url;
$data = array_merge($data, $options);
return $this->request($this->sameHqSearchUrl, $data);
}
/**
* 相同图检索—更新接口
*
* @param string $image - 图像数据base64编码要求base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* brief 更新的摘要信息最长256B。样例{"name":"周杰伦", "id":"666"}
* tags 1 - 65535范围内的整数tag间以逗号分隔最多2个tag。样例"100,11" ;检索时可圈定分类维度进行检索
* @return array
*/
public function sameHqUpdate($image, $options=array()){
$data = array();
$data['image'] = base64_encode($image);
$data = array_merge($data, $options);
return $this->request($this->sameHqUpdateUrl, $data);
}
/**
* 相同图检索—更新接口
*
* @param string $url - 图片完整URLURL长度不超过1024字节URL对应的图片base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式当image字段存在时url字段失效
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* brief 更新的摘要信息最长256B。样例{"name":"周杰伦", "id":"666"}
* tags 1 - 65535范围内的整数tag间以逗号分隔最多2个tag。样例"100,11" ;检索时可圈定分类维度进行检索
* @return array
*/
public function sameHqUpdateUrl($url, $options=array()){
$data = array();
$data['url'] = $url;
$data = array_merge($data, $options);
return $this->request($this->sameHqUpdateUrl, $data);
}
/**
* 相同图检索—更新接口
*
* @param string $contSign - 图片签名
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* brief 更新的摘要信息最长256B。样例{"name":"周杰伦", "id":"666"}
* tags 1 - 65535范围内的整数tag间以逗号分隔最多2个tag。样例"100,11" ;检索时可圈定分类维度进行检索
* @return array
*/
public function sameHqUpdateContSign($contSign, $options=array()){
$data = array();
$data['cont_sign'] = $contSign;
$data = array_merge($data, $options);
return $this->request($this->sameHqUpdateUrl, $data);
}
/**
* 相同图检索—删除接口
*
* @param string $image - 图像数据base64编码要求base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* @return array
*/
public function sameHqDeleteByImage($image, $options=array()){
$data = array();
$data['image'] = base64_encode($image);
$data = array_merge($data, $options);
return $this->request($this->sameHqDeleteUrl, $data);
}
/**
* 相同图检索—删除接口
*
* @param string $url - 图片完整URLURL长度不超过1024字节URL对应的图片base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式当image字段存在时url字段失效
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* @return array
*/
public function sameHqDeleteByUrl($url, $options=array()){
$data = array();
$data['url'] = $url;
$data = array_merge($data, $options);
return $this->request($this->sameHqDeleteUrl, $data);
}
/**
* 相同图检索—删除接口
*
* @param string $contSign - 图片签名
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* @return array
*/
public function sameHqDeleteBySign($contSign, $options=array()){
$data = array();
$data['cont_sign'] = $contSign;
$data = array_merge($data, $options);
return $this->request($this->sameHqDeleteUrl, $data);
}
/**
* 相似图检索—入库接口
*
* @param string $image - 图像数据base64编码要求base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* brief 检索时原样带回,最长256B。
* tags 1 - 65535范围内的整数tag间以逗号分隔最多2个tag。样例"100,11" ;检索时可圈定分类维度进行检索
* @return array
*/
public function similarAdd($image, $options=array()){
$data = array();
$data['image'] = base64_encode($image);
$data = array_merge($data, $options);
return $this->request($this->similarAddUrl, $data);
}
/**
* 相似图检索—入库接口
*
* @param string $url - 图片完整URLURL长度不超过1024字节URL对应的图片base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式当image字段存在时url字段失效
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* brief 检索时原样带回,最长256B。
* tags 1 - 65535范围内的整数tag间以逗号分隔最多2个tag。样例"100,11" ;检索时可圈定分类维度进行检索
* @return array
*/
public function similarAddUrl($url, $options=array()){
$data = array();
$data['url'] = $url;
$data = array_merge($data, $options);
return $this->request($this->similarAddUrl, $data);
}
/**
* 相似图检索—检索接口
*
* @param string $image - 图像数据base64编码要求base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* tags 1 - 65535范围内的整数tag间以逗号分隔最多2个tag。样例"100,11" ;检索时可圈定分类维度进行检索
* tag_logic 检索时tag之间的逻辑 0逻辑and1逻辑or
* pn 分页功能起始位置0。未指定分页时默认返回前300个结果接口返回数量最大限制1000条例如起始位置为900截取条数500条接口也只返回第900 - 1000条的结果共计100条
* rn 分页功能截取条数250
* @return array
*/
public function similarSearch($image, $options=array()){
$data = array();
$data['image'] = base64_encode($image);
$data = array_merge($data, $options);
return $this->request($this->similarSearchUrl, $data);
}
/**
* 相似图检索—检索接口
*
* @param string $url - 图片完整URLURL长度不超过1024字节URL对应的图片base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式当image字段存在时url字段失效
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* tags 1 - 65535范围内的整数tag间以逗号分隔最多2个tag。样例"100,11" ;检索时可圈定分类维度进行检索
* tag_logic 检索时tag之间的逻辑 0逻辑and1逻辑or
* pn 分页功能起始位置0。未指定分页时默认返回前300个结果接口返回数量最大限制1000条例如起始位置为900截取条数500条接口也只返回第900 - 1000条的结果共计100条
* rn 分页功能截取条数250
* @return array
*/
public function similarSearchUrl($url, $options=array()){
$data = array();
$data['url'] = $url;
$data = array_merge($data, $options);
return $this->request($this->similarSearchUrl, $data);
}
/**
* 相似图检索—更新接口
*
* @param string $image - 图像数据base64编码要求base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* brief 更新的摘要信息最长256B。样例{"name":"周杰伦", "id":"666"}
* tags 1 - 65535范围内的整数tag间以逗号分隔最多2个tag。样例"100,11" ;检索时可圈定分类维度进行检索
* @return array
*/
public function similarUpdate($image, $options=array()){
$data = array();
$data['image'] = base64_encode($image);
$data = array_merge($data, $options);
return $this->request($this->similarUpdateUrl, $data);
}
/**
* 相似图检索—更新接口
*
* @param string $url - 图片完整URLURL长度不超过1024字节URL对应的图片base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式当image字段存在时url字段失效
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* brief 更新的摘要信息最长256B。样例{"name":"周杰伦", "id":"666"}
* tags 1 - 65535范围内的整数tag间以逗号分隔最多2个tag。样例"100,11" ;检索时可圈定分类维度进行检索
* @return array
*/
public function similarUpdateUrl($url, $options=array()){
$data = array();
$data['url'] = $url;
$data = array_merge($data, $options);
return $this->request($this->similarUpdateUrl, $data);
}
/**
* 相似图检索—更新接口
*
* @param string $contSign - 图片签名
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* brief 更新的摘要信息最长256B。样例{"name":"周杰伦", "id":"666"}
* tags 1 - 65535范围内的整数tag间以逗号分隔最多2个tag。样例"100,11" ;检索时可圈定分类维度进行检索
* @return array
*/
public function similarUpdateContSign($contSign, $options=array()){
$data = array();
$data['cont_sign'] = $contSign;
$data = array_merge($data, $options);
return $this->request($this->similarUpdateUrl, $data);
}
/**
* 相似图检索—删除接口
*
* @param string $image - 图像数据base64编码要求base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* @return array
*/
public function similarDeleteByImage($image, $options=array()){
$data = array();
$data['image'] = base64_encode($image);
$data = array_merge($data, $options);
return $this->request($this->similarDeleteUrl, $data);
}
/**
* 相似图检索—删除接口
*
* @param string $url - 图片完整URLURL长度不超过1024字节URL对应的图片base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式当image字段存在时url字段失效
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* @return array
*/
public function similarDeleteByUrl($url, $options=array()){
$data = array();
$data['url'] = $url;
$data = array_merge($data, $options);
return $this->request($this->similarDeleteUrl, $data);
}
/**
* 相似图检索—删除接口
*
* @param string $contSign - 图片签名
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* @return array
*/
public function similarDeleteBySign($contSign, $options=array()){
$data = array();
$data['cont_sign'] = $contSign;
$data = array_merge($data, $options);
return $this->request($this->similarDeleteUrl, $data);
}
/**
* 商品检索—入库接口
*
* @param string $image - 图像数据base64编码要求base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* brief 检索时原样带回,最长256B。**请注意检索接口不返回原图仅反馈当前填写的brief信息所以调用该入库接口时brief信息请尽量填写可关联至本地图库的图片id或者图片url、图片名称等信息**
* class_id1 商品分类维度1支持1-60范围内的整数。检索时可圈定该分类维度进行检索
* class_id2 商品分类维度1支持1-60范围内的整数。检索时可圈定该分类维度进行检索
* @return array
*/
public function productAdd($image, $options=array()){
$data = array();
$data['image'] = base64_encode($image);
$data = array_merge($data, $options);
return $this->request($this->productAddUrl, $data);
}
/**
* 商品检索—入库接口
*
* @param string $url - 图片完整URLURL长度不超过1024字节URL对应的图片base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式当image字段存在时url字段失效
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* brief 检索时原样带回,最长256B。**请注意检索接口不返回原图仅反馈当前填写的brief信息所以调用该入库接口时brief信息请尽量填写可关联至本地图库的图片id或者图片url、图片名称等信息**
* class_id1 商品分类维度1支持1-60范围内的整数。检索时可圈定该分类维度进行检索
* class_id2 商品分类维度1支持1-60范围内的整数。检索时可圈定该分类维度进行检索
* @return array
*/
public function productAddUrl($url, $options=array()){
$data = array();
$data['url'] = $url;
$data = array_merge($data, $options);
return $this->request($this->productAddUrl, $data);
}
/**
* 商品检索—检索接口
*
* @param string $image - 图像数据base64编码要求base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* class_id1 商品分类维度1支持1-60范围内的整数。检索时可圈定该分类维度进行检索
* class_id2 商品分类维度1支持1-60范围内的整数。检索时可圈定该分类维度进行检索
* pn 分页功能起始位置0。未指定分页时默认返回前300个结果接口返回数量最大限制1000条例如起始位置为900截取条数500条接口也只返回第900 - 1000条的结果共计100条
* rn 分页功能截取条数250
* @return array
*/
public function productSearch($image, $options=array()){
$data = array();
$data['image'] = base64_encode($image);
$data = array_merge($data, $options);
return $this->request($this->productSearchUrl, $data);
}
/**
* 商品检索—检索接口
*
* @param string $url - 图片完整URLURL长度不超过1024字节URL对应的图片base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式当image字段存在时url字段失效
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* class_id1 商品分类维度1支持1-60范围内的整数。检索时可圈定该分类维度进行检索
* class_id2 商品分类维度1支持1-60范围内的整数。检索时可圈定该分类维度进行检索
* pn 分页功能起始位置0。未指定分页时默认返回前300个结果接口返回数量最大限制1000条例如起始位置为900截取条数500条接口也只返回第900 - 1000条的结果共计100条
* rn 分页功能截取条数250
* @return array
*/
public function productSearchUrl($url, $options=array()){
$data = array();
$data['url'] = $url;
$data = array_merge($data, $options);
return $this->request($this->productSearchUrl, $data);
}
/**
* 商品检索—更新接口
*
* @param string $image - 图像数据base64编码要求base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* brief 更新的摘要信息最长256B。样例{"name":"周杰伦", "id":"666"}
* class_id1 更新的商品分类1支持1-60范围内的整数。
* class_id2 更新的商品分类2支持1-60范围内的整数。
* @return array
*/
public function productUpdate($image, $options=array()){
$data = array();
$data['image'] = base64_encode($image);
$data = array_merge($data, $options);
return $this->request($this->productUpdateUrl, $data);
}
/**
* 商品检索—更新接口
*
* @param string $url - 图片完整URLURL长度不超过1024字节URL对应的图片base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式当image字段存在时url字段失效
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* brief 更新的摘要信息最长256B。样例{"name":"周杰伦", "id":"666"}
* class_id1 更新的商品分类1支持1-60范围内的整数。
* class_id2 更新的商品分类2支持1-60范围内的整数。
* @return array
*/
public function productUpdateUrl($url, $options=array()){
$data = array();
$data['url'] = $url;
$data = array_merge($data, $options);
return $this->request($this->productUpdateUrl, $data);
}
/**
* 商品检索—更新接口
*
* @param string $contSign - 图片签名
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* brief 更新的摘要信息最长256B。样例{"name":"周杰伦", "id":"666"}
* class_id1 更新的商品分类1支持1-60范围内的整数。
* class_id2 更新的商品分类2支持1-60范围内的整数。
* @return array
*/
public function productUpdateContSign($contSign, $options=array()){
$data = array();
$data['cont_sign'] = $contSign;
$data = array_merge($data, $options);
return $this->request($this->productUpdateUrl, $data);
}
/**
* 商品检索—删除接口
*
* @param string $image - 图像数据base64编码要求base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* @return array
*/
public function productDeleteByImage($image, $options=array()){
$data = array();
$data['image'] = base64_encode($image);
$data = array_merge($data, $options);
return $this->request($this->productDeleteUrl, $data);
}
/**
* 商品检索—删除接口
*
* @param string $url - 图片完整URLURL长度不超过1024字节URL对应的图片base64编码后大小不超过4M最短边至少15px最长边最大4096px,支持jpg/png/bmp格式当image字段存在时url字段失效
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* @return array
*/
public function productDeleteByUrl($url, $options=array()){
$data = array();
$data['url'] = $url;
$data = array_merge($data, $options);
return $this->request($this->productDeleteUrl, $data);
}
/**
* 商品检索—删除接口
*
* @param string $contSign - 图片签名
* @param array $options - 可选参数对象key: value都为string类型
* @description options列表:
* @return array
*/
public function productDeleteBySign($contSign, $options=array()){
$data = array();
$data['cont_sign'] = $contSign;
$data = array_merge($data, $options);
return $this->request($this->productDeleteUrl, $data);
}
}