本文原创,转载请注明出处:https://blog.csdn.net/qq_36503704/article/details/86677237
Easy AR 的CRS(云识别)自带检测功能,小编这里做一下笔记。
在Easy AR云识别上传页面,就可以做最简单的测试,例如想检测某一张图片是否和现有的图片有相似的,就可以在这里做测试。
小测试:
可以先上传同一张图片,当你第二次上传的时候就会出现错误提示,小编这里就不测试了,大概的内容就是检测到相似图片,是
否继续上传。
结论:
所以说如果你想测试某一张图片是否和库里的存在相似的图片,那么就可以直接手动添加检测。弹出提示框就是有相似图片,反之没有。
上边的方法只适合于小批量的检测,当但数据量特别大时,就需要用到EsarAR提供的工具。
链接在这:https://www.easyar.cn/doc/EasyAR%20CRS/apistart.html
打开连接后就会看到如下页面,选择自己熟悉的脚本语言下载相应的SDK。
小编这里选的是PHP。PHP的话就需要有PHP运行所需的环境,如果你的同事有PHP那就再好不过了,把文件丢给他,让他帮你集成一下就好了,再好一下就是做成接口。
如果没有也不用怕,代码很简单的,小编复制一段给大家看看。
/**
* 相似识别图列表
* @param string $image base64后识别图
* @return mixed
*/
public function similar($image){
$params['image'] = $image;
$params = $this->getSign($params);
$data = json_encode($params);
$headers = [
'Content-Type: application/json; charset=utf-8',
'Content-Length: '. strlen($data)
];
$rs = Http::post($this->appHost .'/similar/', $data, $headers);
return json_decode($rs);
}
include 'EasyARCloudSdk.php';
//访问www.easyar.cn开通获取
$appKey = '这里是Cloud Key';
$appSecret = '这里是Cloud Secret';
$appHost = '这里是Server-end (Target Mangement) URL';
$sdk = new EasyARClientSdkCRS($appKey, $appSecret, $appHost);
$rs = $sdk->ping();
print_r($rs);
/*
$image = base64_encode(file_get_contents('1.jpg'));
$rs = $sdk->similar($image);
if ($rs->statusCode == 0) {
print_r($rs->result->results);
} else {
echo $rs->result->message;
}
*/
上边那个可以当成一个辅助类,类里提供了很多的方法,找到add或者similar方法,这个就是我们需要用到的,下边提供了怎么调用的示例,然后就是根据现有的做一下简单的修改就好了,我们就可以实现数据特别大时的检测功能。
PHP注意事项:
1.如果是自己第一次做的话,找一个相对稳一点的PHP安装教程,负责有可能出问题,小编用了大概一个下午来调试才成功。
2.运行后想运行ping方法检测环境是否安装成功。
3.EasyAR官网有返回结果的说明。记得去查看。
提供一个思路:
遍历整个需要是检测的文件,找到所有图片,依次调用similar。
好了,至此就完成了我们需要的检测功能。