Update DetectFace.

This commit is contained in:
sdk-team
2020-11-20 06:18:11 +00:00
parent c2dc12f92b
commit b84d1c59fa
5 changed files with 124 additions and 38 deletions

View File

@@ -1,3 +1,7 @@
2020-11-20 Version: patch
- Update DetectFace.
- Update RecognizeFace.
2020-11-20 Version: patch
- Add a new interface for asynchronous image translation.

View File

@@ -34,10 +34,22 @@ namespace AlibabaCloud
public:
struct Data
{
struct Qualities
{
std::vector<std::string> noiseList;
std::vector<std::string> scoreList;
std::vector<std::string> blurList;
std::vector<std::string> maskList;
std::vector<std::string> glassList;
std::vector<std::string> fnfList;
std::vector<std::string> poseList1;
std::vector<std::string> illuList;
};
std::vector<std::string> faceProbabilityList;
int landmarkCount;
std::vector<std::string> faceRectangles;
std::vector<std::string> landmarks;
Qualities qualities;
int faceCount;
std::vector<std::string> poseList;
std::vector<std::string> pupils;

View File

@@ -34,13 +34,27 @@ namespace AlibabaCloud
public:
struct Data
{
struct Qualities
{
std::vector<std::string> noiseList;
std::vector<std::string> scoreList;
std::vector<std::string> blurList;
std::vector<std::string> maskList;
std::vector<std::string> glassList;
std::vector<std::string> fnfList;
std::vector<std::string> poseList1;
std::vector<std::string> illuList;
};
std::vector<std::string> beuatyList;
std::vector<std::string> faceRectangles;
Qualities qualities;
int denseFeatureLength;
std::vector<std::string> poseList;
std::vector<std::string> pupils;
std::vector<std::string> genderList;
std::vector<std::string> pupils;
std::vector<std::string> denseFeatures;
std::vector<std::string> faceProbabilityList;
std::vector<std::string> hatList;
int landmarkCount;
std::vector<std::string> ageList;
std::vector<std::string> glasses;

View File

@@ -40,22 +40,47 @@ void DetectFaceResult::parse(const std::string &payload)
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
auto dataNode = value["Data"];
if(!dataNode["FaceCount"].isNull())
data_.faceCount = std::stoi(dataNode["FaceCount"].asString());
if(!dataNode["LandmarkCount"].isNull())
data_.landmarkCount = std::stoi(dataNode["LandmarkCount"].asString());
auto allFaceRectangles = dataNode["FaceRectangles"]["FaceRectangle"];
for (auto value : allFaceRectangles)
data_.faceRectangles.push_back(value.asString());
if(!dataNode["FaceCount"].isNull())
data_.faceCount = std::stoi(dataNode["FaceCount"].asString());
auto qualitiesNode = dataNode["Qualities"];
auto allNoiseList = qualitiesNode["NoiseList"]["Noise"];
for (auto value : allNoiseList)
data_.qualities.noiseList.push_back(value.asString());
auto allScoreList = qualitiesNode["ScoreList"]["Score"];
for (auto value : allScoreList)
data_.qualities.scoreList.push_back(value.asString());
auto allBlurList = qualitiesNode["BlurList"]["Blur"];
for (auto value : allBlurList)
data_.qualities.blurList.push_back(value.asString());
auto allMaskList = qualitiesNode["MaskList"]["Mask"];
for (auto value : allMaskList)
data_.qualities.maskList.push_back(value.asString());
auto allGlassList = qualitiesNode["GlassList"]["Glass"];
for (auto value : allGlassList)
data_.qualities.glassList.push_back(value.asString());
auto allFnfList = qualitiesNode["FnfList"]["Fnf"];
for (auto value : allFnfList)
data_.qualities.fnfList.push_back(value.asString());
auto allPoseList1 = qualitiesNode["PoseList"]["Pose"];
for (auto value : allPoseList1)
data_.qualities.poseList1.push_back(value.asString());
auto allIlluList = qualitiesNode["IlluList"]["Illu"];
for (auto value : allIlluList)
data_.qualities.illuList.push_back(value.asString());
auto allFaceProbabilityList = dataNode["FaceProbabilityList"]["FaceProbability"];
for (auto value : allFaceProbabilityList)
data_.faceProbabilityList.push_back(value.asString());
auto allPoseList = dataNode["PoseList"]["Pose"];
for (auto value : allPoseList)
data_.poseList.push_back(value.asString());
auto allFaceRectangles = dataNode["FaceRectangles"]["FaceRectangle"];
for (auto value : allFaceRectangles)
data_.faceRectangles.push_back(value.asString());
auto allLandmarks = dataNode["Landmarks"]["Landmark"];
for (auto value : allLandmarks)
data_.landmarks.push_back(value.asString());
auto allPoseList = dataNode["PoseList"]["Pose"];
for (auto value : allPoseList)
data_.poseList.push_back(value.asString());
auto allPupils = dataNode["Pupils"]["Pupil"];
for (auto value : allPupils)
data_.pupils.push_back(value.asString());

View File

@@ -40,42 +40,73 @@ void RecognizeFaceResult::parse(const std::string &payload)
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
auto dataNode = value["Data"];
if(!dataNode["FaceCount"].isNull())
data_.faceCount = std::stoi(dataNode["FaceCount"].asString());
if(!dataNode["LandmarkCount"].isNull())
data_.landmarkCount = std::stoi(dataNode["LandmarkCount"].asString());
if(!dataNode["DenseFeatureLength"].isNull())
data_.denseFeatureLength = std::stoi(dataNode["DenseFeatureLength"].asString());
auto allFaceRectangles = dataNode["FaceRectangles"]["FaceRectangle"];
for (auto value : allFaceRectangles)
data_.faceRectangles.push_back(value.asString());
auto allFaceProbabilityList = dataNode["FaceProbabilityList"]["FaceProbability"];
for (auto value : allFaceProbabilityList)
data_.faceProbabilityList.push_back(value.asString());
auto allPoseList = dataNode["PoseList"]["Pose"];
for (auto value : allPoseList)
data_.poseList.push_back(value.asString());
auto allLandmarks = dataNode["Landmarks"]["Landmark"];
for (auto value : allLandmarks)
data_.landmarks.push_back(value.asString());
auto allPupils = dataNode["Pupils"]["Pupil"];
for (auto value : allPupils)
data_.pupils.push_back(value.asString());
auto allGenderList = dataNode["GenderList"]["Gender"];
for (auto value : allGenderList)
data_.genderList.push_back(value.asString());
auto allAgeList = dataNode["AgeList"]["Age"];
for (auto value : allAgeList)
data_.ageList.push_back(value.asString());
auto allExpressions = dataNode["Expressions"]["Expression"];
for (auto value : allExpressions)
data_.expressions.push_back(value.asString());
auto allGlasses = dataNode["Glasses"]["Glass"];
for (auto value : allGlasses)
data_.glasses.push_back(value.asString());
if(!dataNode["FaceCount"].isNull())
data_.faceCount = std::stoi(dataNode["FaceCount"].asString());
auto qualitiesNode = dataNode["Qualities"];
auto allNoiseList = qualitiesNode["NoiseList"]["Noise"];
for (auto value : allNoiseList)
data_.qualities.noiseList.push_back(value.asString());
auto allScoreList = qualitiesNode["ScoreList"]["Score"];
for (auto value : allScoreList)
data_.qualities.scoreList.push_back(value.asString());
auto allBlurList = qualitiesNode["BlurList"]["Blur"];
for (auto value : allBlurList)
data_.qualities.blurList.push_back(value.asString());
auto allMaskList = qualitiesNode["MaskList"]["Mask"];
for (auto value : allMaskList)
data_.qualities.maskList.push_back(value.asString());
auto allGlassList = qualitiesNode["GlassList"]["Glass"];
for (auto value : allGlassList)
data_.qualities.glassList.push_back(value.asString());
auto allFnfList = qualitiesNode["FnfList"]["Fnf"];
for (auto value : allFnfList)
data_.qualities.fnfList.push_back(value.asString());
auto allPoseList1 = qualitiesNode["PoseList"]["Pose"];
for (auto value : allPoseList1)
data_.qualities.poseList1.push_back(value.asString());
auto allIlluList = qualitiesNode["IlluList"]["Illu"];
for (auto value : allIlluList)
data_.qualities.illuList.push_back(value.asString());
auto allDenseFeatures = dataNode["DenseFeatures"]["DenseFeature"];
for (auto value : allDenseFeatures)
data_.denseFeatures.push_back(value.asString());
auto allFaceProbabilityList = dataNode["FaceProbabilityList"]["FaceProbability"];
for (auto value : allFaceProbabilityList)
data_.faceProbabilityList.push_back(value.asString());
auto allHatList = dataNode["HatList"]["Hat"];
for (auto value : allHatList)
data_.hatList.push_back(value.asString());
auto allAgeList = dataNode["AgeList"]["Age"];
for (auto value : allAgeList)
data_.ageList.push_back(value.asString());
auto allBeuatyList = dataNode["BeuatyList"]["Beauty"];
for (auto value : allBeuatyList)
data_.beuatyList.push_back(value.asString());
auto allFaceRectangles = dataNode["FaceRectangles"]["FaceRectangle"];
for (auto value : allFaceRectangles)
data_.faceRectangles.push_back(value.asString());
auto allGlasses = dataNode["Glasses"]["Glass"];
for (auto value : allGlasses)
data_.glasses.push_back(value.asString());
auto allLandmarks = dataNode["Landmarks"]["Landmark"];
for (auto value : allLandmarks)
data_.landmarks.push_back(value.asString());
auto allExpressions = dataNode["Expressions"]["Expression"];
for (auto value : allExpressions)
data_.expressions.push_back(value.asString());
auto allPoseList = dataNode["PoseList"]["Pose"];
for (auto value : allPoseList)
data_.poseList.push_back(value.asString());
auto allGenderList = dataNode["GenderList"]["Gender"];
for (auto value : allGenderList)
data_.genderList.push_back(value.asString());
auto allPupils = dataNode["Pupils"]["Pupil"];
for (auto value : allPupils)
data_.pupils.push_back(value.asString());
}