PHP如何对接百度图像审核接口?
百度图像审核接口是一种能够通过对图像内容的分析来判断是否违规的接口。通过对图像进行识别、鉴黄、性感、涉政、低俗、暴力等多方面的审核,帮助开发者过滤出不符合要求的图像内容,提高应用的内容安全性。
在开始对接百度图像审核接口之前,需要先准备以下几项工作:
新建一个PHP文件,命名为"image_review.php",在文件中编写如下代码:
<?php // 获取AccessToken $clientId = 'your_client_id'; $clientSecret = 'your_client_secret'; $tokenUrl = 'https://aip.baidubce.com/oauth/2.0/token'; $params = array( 'grant_type' => 'client_credentials', 'client_id' => $clientId, 'client_secret' => $clientSecret ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $tokenUrl.'?'.http_build_query($params)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $response = curl_exec($ch); $json = json_decode($response); $accessToken = $json->access_token; // 调用图像审核接口 $imageUrl = 'http://example.com/image.png'; $reviewUrl = 'https://aip.baidubce.com/rest/2.0/solution/v1/img_censor/v2/user_defined?access_token='.$accessToken; $params = array( 'imgUrl' => $imageUrl ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $reviewUrl); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $response = curl_exec($ch); $json = json_decode($response); // 处理审核结果 if ($json->conclusionType == 1) { echo '图片正常'; } else { echo '图片违规,不合规类型:'; foreach ($json->data as $item) { echo $item->msg.' '; } } curl_close($ch);
在上面的代码中,需要将"your_client_id"和"your_client_secret"替换成您的百度AI开放平台的API Key和Secret Key。"http://example.com/image.png"是待审核的图像URL,您可以将其替换成您自己的图像URL。
将编写好的PHP脚本文件上传至您的PHP开发环境,并通过浏览器访问该脚本文件,即可运行审核图片的代码。
代码示例中的图像审核结果将会在页面上显示出来,若图片正常,则会输出"图片正常";若图片违规,则会输出"图片违规,不合规类型:"以及具体的违规类型。
总结
通过以上步骤,您可以轻松地对接百度图像审核接口,实现对图像内容的违规判断和过滤。同时,您也可以根据您的需求对代码进行进一步的优化和扩展,以实现更加个性化和灵活的应用。
参考资料:
在Laravel中使用where查询时,如果你发现小于0.3的记录也会被查出,可能是因为你使用了浮点数比较。浮点数在计算机中存储和比较时可能会出现精度问题,导致一些意外的结果。以下是这个问题的原因和解决方法:原因分析浮点数精度问题:在计算机中,浮点数(如0.3)不能精确表示,可能会存储为类似于0.299999999999999989这样的值。因此,当你使用where('value', '<', 0.3)时,0.299999999999999989可能会被认为小于0.3,从而被查询出来。数据库引擎的处理:不
CentOS7下Zabbix安装界面CSS加载失败如何排查?
当PHP连接数据库失败时,如何快速排查与修复?
多个定时任务执行间隔时间不一致如何精准控制?
网页扫码登录微信小程序获取openid:如何实现?
WordPress中PHP文章标题如何传给JavaScript做请求参数?