php實現人臉對比的方法:1、建立一個PHP範例檔案;2、查詢人臉對比介面地址;3、請求人臉對比介面資料;4、解析資料並通過「function base64EncodeImage(){...}」和「function request(){...}」方法進行網路請求及圖片對比即可。
php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:
本教學操作環境:Windows7系統、PHP8.1版、DELL G3電腦
php如何實現人臉對比?
人臉比對-PHP版本
人臉對比介面查詢地址: https://www.juhe.cn/docs/api/id/264?s=cpphpcn
用於對上傳的圖片與庫中的實際身份證照片進行比對。
PHP程式碼如下:
<?php
$url = "http://apis.juhe.cn/verifyface/verify";//介面地址
$key = "******************";//金鑰
$idcard = "******************";//身份證
$realname = "***";//姓名
$image_path = "E:/ocr/cc.jpg";//圖片地址
$image = base64EncodeImage($image_path);//圖片轉base64
$params = compact(['key', 'idcard', 'realname', 'image']);//組合引數
$result = request($url, $params, 'post');//請求
var_dump($result);//結果
//圖片base64
function base64EncodeImage($img_file)
{
$app_img_file = $img_file; // 圖片路徑
$fp = fopen($app_img_file, "r"); // 圖片是否可讀許可權
$image_data = fread($fp, filesize($app_img_file));
$base64_image = base64_encode($image_data);
fclose($fp);
return $base64_image;
}
/**網路請求
* @param string $url 地址
* @param array $params 引數
* @param string $method 請求方法
* @param array $headers 請求頭
* @return array
*/
function request($url, $params = array(), $method = "get", $headers = array())
{
if (strtolower($method) != "post") {
$method = "get";
}
if ($params) {
if (is_array($params)) {
$paramsString = http_build_query($params);
} else {
$paramsString = $params;
}
} else {
$paramsString = "";
}
if ($method == "get" && !empty($paramsString)) {
$url = $url . "?" . $paramsString;
}
// 初始化
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if (strtolower(substr($url, 0, 8)) == 'https://') {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // 從證書中檢查SSL加密演演算法是否存在
}
// 請求頭
if (!empty($headers)) {
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
}
// 指定post方式
if ($method == "post") {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $paramsString);
}
curl_setopt($ch, CURLOPT_URL, $url);
// 請求網路
$httpContent = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// 關閉
curl_close($ch);
return array(
'httpCode' => $httpCode, // http狀態碼
'content' => $httpContent, // 網路返回內容
);
}
登入後複製
介面備註:按格式提交1張人臉圖片與身份證庫中圖片進行對比,返回相似度評分,人臉影象100K以內,jpeg格式,最長邊畫素為800pi最佳。
推薦學習:《》
以上就是php如何實現人臉對比的詳細內容,更多請關注TW511.COM其它相關文章!