Update DetectFace.
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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());
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user