face 人臉識別

2021-06-26 01:55:03 字數 3587 閱讀 3425

今天搞了很久才看懂face++ 文件。有過第三方api呼叫的經驗應該不難。最後在比較兩張的相似的時候還是有問題,自己測試了下,呼叫

/recognition/compare介面,總是返回null,搞了半天沒搞定。最後還是貼上自己寫的**。

<?php

function urlexec($url)

function testface($imgurl); 

return $facearray;

}function compareface($imgurl1,$imgurl2);

$face2array=testface($imgurl2);

$tempid2 = $face2array[0]->;

//var_dump(json_decode($face1array));

$url1="".$tempid2 ."&face_id1=".$tempid1;

$replydic=urlexec($url1);

var_dump($replydic);

// $tempattr = $replydic->; 

// echo $tempattr->;

//$url="".$tempid1."&type=83p";

echo $tempid1.",".$tempid2;

}function face($imgurl)  ; 

// 年齡:包含年齡分析結果 

// value的值為乙個非負整數表示估計的年齡, range表示估計年齡的正負區間 

$tempage = $tempattr->; 

// 性別:包含性別分析結果 

// value的值為male/female, confidence表示置信度 

$tempgenger = $tempattr->;  

// 種族:包含人種分析結果 

// value的值為asian/white/black, confidence表示置信度 

$temprace = $tempattr->;      

// 微笑:包含微笑程度分析結果 

//value的值為0-100的實數,越大表示微笑程度越高 

$tempsmiling = $tempattr->; 

// 眼鏡:包含眼鏡佩戴分析結果 

// value的值為none/dark/normal, confidence表示置信度 

$tempglass = $tempattr->;    

// 造型:包含臉部姿勢分析結果 

// 包括pitch_angle, roll_angle, yaw_angle 

// 分別對應抬頭,旋轉(平面旋轉),搖頭 

// 單位為角度。 

$temppose = $tempattr->; 

//返回年齡 

$minage = $tempage-> - $tempage->; 

$minage = $minage < 0 ? 0 : $minage; 

$maxage = $tempage-> + $tempage->; 

$resultstr .= "年齡:".$minage."-".$maxage."歲\n"; 

// 返回性別 

if($tempgenger-> === "male") 

$resultstr .= "性別:男\n";  

else if($tempgenger-> === "female") 

$resultstr .= "性別:女\n"; 

// 返回種族 

if($temprace-> === "asian") 

$resultstr .= "種族:黃種人\n";    

else if($temprace-> === "male") 

$resultstr .= "種族:白種人\n";    

else if($temprace-> === "black") 

$resultstr .= "種族:黑種人\n";    

// 返回眼鏡 

if($tempglass-> === "none") 

$resultstr .= "眼鏡:木有眼鏡\n";   

else if($tempglass-> === "dark") 

$resultstr .= "眼鏡:目測墨鏡\n";   

else if($tempglass-> === "normal") 

$resultstr .= "眼鏡:普通眼鏡\n";   

//返回微笑 

$resultstr .= "微笑:".round($tempsmiling->)."%\n"; 

}    

if(count($facearray) === 2); 

$tempface = $facearray[1]; 

$tempid2 = $tempface->; 

// face++ 鏈結 

$ur2="".$tempid2 ."&face_id=".$tempid1;

$ch=curl_init();

curl_setopt($ch, curlopt_url, $ur2);

curl_setopt($ch, curlopt_returntransfer, true);

$jsonstr = curl_exec($ch);

curl_close ($ch);

$replydic = json_decode($jsonstr); 

var_dump($replydic);

if($replydic!=null); 

$resultstr .= "相似程度:".round($tempresult)."%\n"; 

//具體分析相似處 

$tempsimilarity = $replydic->; 

$tempeye = $tempsimilarity->; 

$tempeyebrow = $tempsimilarity->; 

$tempmouth = $tempsimilarity->; 

$tempnose = $tempsimilarity->; 

$resultstr .= "相似分析:\n"; 

$resultstr .= "眼睛:".round($tempeye)."%\n"; 

$resultstr .= "眉毛:".round($tempeyebrow)."%\n"; 

$resultstr .= "嘴巴:".round($tempmouth)."%\n"; 

$resultstr .= "鼻子:".round($tempnose)."%\n"; 

}} 

//如果沒有檢測到人臉 

if($resultstr === "") 

$resultstr = "**中木有人臉=.="; 

return $resultstr; 

};$conter= face($url1);

$conter.=face($url2);

echo $conter;

?>

face 實現人臉識別

由於專案是在多年前完成,face 的sdk可能有調整,所以部分功能可能不再適用 2017.3 最近做了乙個使用face 實現人臉識別的功能,當初看著官方文件一點頭緒都沒有,看了好久才弄明白,所以在這裡記錄一下,希望可以幫到需要的人,首先要註冊乙個face 賬號,獲取apikey和apisecret,...

人臉識別和face 人臉分析

參考部落格 專案需求,android客戶端作為airplay接收端,在開啟airplay的時候後台開啟攝像頭,當捕捉到人臉的時候將這一幀影象傳到face 進行人臉分析。airplay接收端可整合xindawn的airplay,github位址 1.後台開啟攝像頭 基本都是將預覽介面的activity...

基於face 的人臉識別(上)

因為畢業設計需要做人臉識別的考勤,這裡採取已有的平台上的sdk來做人臉識別,詳細說下如何使用face 平台來進行人臉識別。1.註冊為face 的開發者。在這裡註冊個賬號,之後進入應用管理,建立乙個應用 3.自己新建乙個人臉的方法類,在裡面填寫自己的key和secret,與你註冊時的一致,這裡我在建構...