Files
aliyun-openapi-cpp-sdk/imm/src/model/ListImagesResult.cc
2020-12-22 06:38:51 +00:00

333 lines
19 KiB
C++

/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <alibabacloud/imm/model/ListImagesResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Imm;
using namespace AlibabaCloud::Imm::Model;
ListImagesResult::ListImagesResult() :
ServiceResult()
{}
ListImagesResult::ListImagesResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
ListImagesResult::~ListImagesResult()
{}
void ListImagesResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
auto allImagesNode = value["Images"]["ImagesItem"];
for (auto valueImagesImagesItem : allImagesNode)
{
ImagesItem imagesObject;
if(!valueImagesImagesItem["FacesModifyTime"].isNull())
imagesObject.facesModifyTime = valueImagesImagesItem["FacesModifyTime"].asString();
if(!valueImagesImagesItem["OCRModifyTime"].isNull())
imagesObject.oCRModifyTime = valueImagesImagesItem["OCRModifyTime"].asString();
if(!valueImagesImagesItem["OCRStatus"].isNull())
imagesObject.oCRStatus = valueImagesImagesItem["OCRStatus"].asString();
if(!valueImagesImagesItem["SourcePosition"].isNull())
imagesObject.sourcePosition = valueImagesImagesItem["SourcePosition"].asString();
if(!valueImagesImagesItem["Exif"].isNull())
imagesObject.exif = valueImagesImagesItem["Exif"].asString();
if(!valueImagesImagesItem["ImageUri"].isNull())
imagesObject.imageUri = valueImagesImagesItem["ImageUri"].asString();
if(!valueImagesImagesItem["ImageWidth"].isNull())
imagesObject.imageWidth = std::stoi(valueImagesImagesItem["ImageWidth"].asString());
if(!valueImagesImagesItem["ImageFormat"].isNull())
imagesObject.imageFormat = valueImagesImagesItem["ImageFormat"].asString();
if(!valueImagesImagesItem["SourceType"].isNull())
imagesObject.sourceType = valueImagesImagesItem["SourceType"].asString();
if(!valueImagesImagesItem["ModifyTime"].isNull())
imagesObject.modifyTime = valueImagesImagesItem["ModifyTime"].asString();
if(!valueImagesImagesItem["FileSize"].isNull())
imagesObject.fileSize = std::stoi(valueImagesImagesItem["FileSize"].asString());
if(!valueImagesImagesItem["SourceUri"].isNull())
imagesObject.sourceUri = valueImagesImagesItem["SourceUri"].asString();
if(!valueImagesImagesItem["CreateTime"].isNull())
imagesObject.createTime = valueImagesImagesItem["CreateTime"].asString();
if(!valueImagesImagesItem["FacesStatus"].isNull())
imagesObject.facesStatus = valueImagesImagesItem["FacesStatus"].asString();
if(!valueImagesImagesItem["RemarksA"].isNull())
imagesObject.remarksA = valueImagesImagesItem["RemarksA"].asString();
if(!valueImagesImagesItem["ImageHeight"].isNull())
imagesObject.imageHeight = std::stoi(valueImagesImagesItem["ImageHeight"].asString());
if(!valueImagesImagesItem["RemarksB"].isNull())
imagesObject.remarksB = valueImagesImagesItem["RemarksB"].asString();
if(!valueImagesImagesItem["ImageTime"].isNull())
imagesObject.imageTime = valueImagesImagesItem["ImageTime"].asString();
if(!valueImagesImagesItem["Orientation"].isNull())
imagesObject.orientation = valueImagesImagesItem["Orientation"].asString();
if(!valueImagesImagesItem["Location"].isNull())
imagesObject.location = valueImagesImagesItem["Location"].asString();
if(!valueImagesImagesItem["OCRFailReason"].isNull())
imagesObject.oCRFailReason = valueImagesImagesItem["OCRFailReason"].asString();
if(!valueImagesImagesItem["FacesFailReason"].isNull())
imagesObject.facesFailReason = valueImagesImagesItem["FacesFailReason"].asString();
if(!valueImagesImagesItem["TagsFailReason"].isNull())
imagesObject.tagsFailReason = valueImagesImagesItem["TagsFailReason"].asString();
if(!valueImagesImagesItem["TagsModifyTime"].isNull())
imagesObject.tagsModifyTime = valueImagesImagesItem["TagsModifyTime"].asString();
if(!valueImagesImagesItem["CelebrityStatus"].isNull())
imagesObject.celebrityStatus = valueImagesImagesItem["CelebrityStatus"].asString();
if(!valueImagesImagesItem["CelebrityModifyTime"].isNull())
imagesObject.celebrityModifyTime = valueImagesImagesItem["CelebrityModifyTime"].asString();
if(!valueImagesImagesItem["CelebrityFailReason"].isNull())
imagesObject.celebrityFailReason = valueImagesImagesItem["CelebrityFailReason"].asString();
if(!valueImagesImagesItem["TagsStatus"].isNull())
imagesObject.tagsStatus = valueImagesImagesItem["TagsStatus"].asString();
if(!valueImagesImagesItem["RemarksC"].isNull())
imagesObject.remarksC = valueImagesImagesItem["RemarksC"].asString();
if(!valueImagesImagesItem["RemarksD"].isNull())
imagesObject.remarksD = valueImagesImagesItem["RemarksD"].asString();
if(!valueImagesImagesItem["ExternalId"].isNull())
imagesObject.externalId = valueImagesImagesItem["ExternalId"].asString();
if(!valueImagesImagesItem["AddressModifyTime"].isNull())
imagesObject.addressModifyTime = valueImagesImagesItem["AddressModifyTime"].asString();
if(!valueImagesImagesItem["AddressStatus"].isNull())
imagesObject.addressStatus = valueImagesImagesItem["AddressStatus"].asString();
if(!valueImagesImagesItem["AddressFailReason"].isNull())
imagesObject.addressFailReason = valueImagesImagesItem["AddressFailReason"].asString();
if(!valueImagesImagesItem["RemarksArrayA"].isNull())
imagesObject.remarksArrayA = valueImagesImagesItem["RemarksArrayA"].asString();
if(!valueImagesImagesItem["RemarksArrayB"].isNull())
imagesObject.remarksArrayB = valueImagesImagesItem["RemarksArrayB"].asString();
if(!valueImagesImagesItem["ImageQualityStatus"].isNull())
imagesObject.imageQualityStatus = valueImagesImagesItem["ImageQualityStatus"].asString();
if(!valueImagesImagesItem["ImageQualityFailReason"].isNull())
imagesObject.imageQualityFailReason = valueImagesImagesItem["ImageQualityFailReason"].asString();
if(!valueImagesImagesItem["ImageQualityModifyTime"].isNull())
imagesObject.imageQualityModifyTime = valueImagesImagesItem["ImageQualityModifyTime"].asString();
if(!valueImagesImagesItem["CroppingSuggestionStatus"].isNull())
imagesObject.croppingSuggestionStatus = valueImagesImagesItem["CroppingSuggestionStatus"].asString();
if(!valueImagesImagesItem["CroppingSuggestionFailReason"].isNull())
imagesObject.croppingSuggestionFailReason = valueImagesImagesItem["CroppingSuggestionFailReason"].asString();
if(!valueImagesImagesItem["CroppingSuggestionModifyTime"].isNull())
imagesObject.croppingSuggestionModifyTime = valueImagesImagesItem["CroppingSuggestionModifyTime"].asString();
auto allCroppingSuggestionNode = valueImagesImagesItem["CroppingSuggestion"]["CroppingSuggestionItem"];
for (auto valueImagesImagesItemCroppingSuggestionCroppingSuggestionItem : allCroppingSuggestionNode)
{
ImagesItem::CroppingSuggestionItem croppingSuggestionObject;
if(!valueImagesImagesItemCroppingSuggestionCroppingSuggestionItem["AspectRatio"].isNull())
croppingSuggestionObject.aspectRatio = valueImagesImagesItemCroppingSuggestionCroppingSuggestionItem["AspectRatio"].asString();
if(!valueImagesImagesItemCroppingSuggestionCroppingSuggestionItem["Score"].isNull())
croppingSuggestionObject.score = std::stof(valueImagesImagesItemCroppingSuggestionCroppingSuggestionItem["Score"].asString());
auto croppingBoundaryNode = value["CroppingBoundary"];
if(!croppingBoundaryNode["Width"].isNull())
croppingSuggestionObject.croppingBoundary.width = std::stoi(croppingBoundaryNode["Width"].asString());
if(!croppingBoundaryNode["Height"].isNull())
croppingSuggestionObject.croppingBoundary.height = std::stoi(croppingBoundaryNode["Height"].asString());
if(!croppingBoundaryNode["Left"].isNull())
croppingSuggestionObject.croppingBoundary.left = std::stoi(croppingBoundaryNode["Left"].asString());
if(!croppingBoundaryNode["Top"].isNull())
croppingSuggestionObject.croppingBoundary.top = std::stoi(croppingBoundaryNode["Top"].asString());
imagesObject.croppingSuggestion.push_back(croppingSuggestionObject);
}
auto allFacesNode = valueImagesImagesItem["Faces"]["FacesItem"];
for (auto valueImagesImagesItemFacesFacesItem : allFacesNode)
{
ImagesItem::FacesItem facesObject;
if(!valueImagesImagesItemFacesFacesItem["Age"].isNull())
facesObject.age = std::stoi(valueImagesImagesItemFacesFacesItem["Age"].asString());
if(!valueImagesImagesItemFacesFacesItem["GenderConfidence"].isNull())
facesObject.genderConfidence = std::stof(valueImagesImagesItemFacesFacesItem["GenderConfidence"].asString());
if(!valueImagesImagesItemFacesFacesItem["Attractive"].isNull())
facesObject.attractive = std::stof(valueImagesImagesItemFacesFacesItem["Attractive"].asString());
if(!valueImagesImagesItemFacesFacesItem["Gender"].isNull())
facesObject.gender = valueImagesImagesItemFacesFacesItem["Gender"].asString();
if(!valueImagesImagesItemFacesFacesItem["FaceConfidence"].isNull())
facesObject.faceConfidence = std::stof(valueImagesImagesItemFacesFacesItem["FaceConfidence"].asString());
if(!valueImagesImagesItemFacesFacesItem["Emotion"].isNull())
facesObject.emotion = valueImagesImagesItemFacesFacesItem["Emotion"].asString();
if(!valueImagesImagesItemFacesFacesItem["FaceId"].isNull())
facesObject.faceId = valueImagesImagesItemFacesFacesItem["FaceId"].asString();
if(!valueImagesImagesItemFacesFacesItem["EmotionConfidence"].isNull())
facesObject.emotionConfidence = std::stof(valueImagesImagesItemFacesFacesItem["EmotionConfidence"].asString());
if(!valueImagesImagesItemFacesFacesItem["GroupId"].isNull())
facesObject.groupId = valueImagesImagesItemFacesFacesItem["GroupId"].asString();
if(!valueImagesImagesItemFacesFacesItem["FaceQuality"].isNull())
facesObject.faceQuality = std::stof(valueImagesImagesItemFacesFacesItem["FaceQuality"].asString());
auto emotionDetailsNode = value["EmotionDetails"];
if(!emotionDetailsNode["SAD"].isNull())
facesObject.emotionDetails.sAD = std::stof(emotionDetailsNode["SAD"].asString());
if(!emotionDetailsNode["CALM"].isNull())
facesObject.emotionDetails.cALM = std::stof(emotionDetailsNode["CALM"].asString());
if(!emotionDetailsNode["ANGRY"].isNull())
facesObject.emotionDetails.aNGRY = std::stof(emotionDetailsNode["ANGRY"].asString());
if(!emotionDetailsNode["HAPPY"].isNull())
facesObject.emotionDetails.hAPPY = std::stof(emotionDetailsNode["HAPPY"].asString());
if(!emotionDetailsNode["SCARED"].isNull())
facesObject.emotionDetails.sCARED = std::stof(emotionDetailsNode["SCARED"].asString());
if(!emotionDetailsNode["DISGUSTED"].isNull())
facesObject.emotionDetails.dISGUSTED = std::stof(emotionDetailsNode["DISGUSTED"].asString());
if(!emotionDetailsNode["SURPRISED"].isNull())
facesObject.emotionDetails.sURPRISED = std::stof(emotionDetailsNode["SURPRISED"].asString());
auto faceAttributesNode = value["FaceAttributes"];
if(!faceAttributesNode["GlassesConfidence"].isNull())
facesObject.faceAttributes.glassesConfidence = std::stof(faceAttributesNode["GlassesConfidence"].asString());
if(!faceAttributesNode["Glasses"].isNull())
facesObject.faceAttributes.glasses = faceAttributesNode["Glasses"].asString();
if(!faceAttributesNode["Beard"].isNull())
facesObject.faceAttributes.beard = faceAttributesNode["Beard"].asString();
if(!faceAttributesNode["MaskConfidence"].isNull())
facesObject.faceAttributes.maskConfidence = std::stof(faceAttributesNode["MaskConfidence"].asString());
if(!faceAttributesNode["BeardConfidence"].isNull())
facesObject.faceAttributes.beardConfidence = std::stof(faceAttributesNode["BeardConfidence"].asString());
if(!faceAttributesNode["Mask"].isNull())
facesObject.faceAttributes.mask = faceAttributesNode["Mask"].asString();
auto faceBoundaryNode = faceAttributesNode["FaceBoundary"];
if(!faceBoundaryNode["Top"].isNull())
facesObject.faceAttributes.faceBoundary.top = std::stoi(faceBoundaryNode["Top"].asString());
if(!faceBoundaryNode["Height"].isNull())
facesObject.faceAttributes.faceBoundary.height = std::stoi(faceBoundaryNode["Height"].asString());
if(!faceBoundaryNode["Width"].isNull())
facesObject.faceAttributes.faceBoundary.width = std::stoi(faceBoundaryNode["Width"].asString());
if(!faceBoundaryNode["Left"].isNull())
facesObject.faceAttributes.faceBoundary.left = std::stoi(faceBoundaryNode["Left"].asString());
auto headPoseNode = faceAttributesNode["HeadPose"];
if(!headPoseNode["Pitch"].isNull())
facesObject.faceAttributes.headPose.pitch = std::stof(headPoseNode["Pitch"].asString());
if(!headPoseNode["Roll"].isNull())
facesObject.faceAttributes.headPose.roll = std::stof(headPoseNode["Roll"].asString());
if(!headPoseNode["Yaw"].isNull())
facesObject.faceAttributes.headPose.yaw = std::stof(headPoseNode["Yaw"].asString());
imagesObject.faces.push_back(facesObject);
}
auto allTagsNode = valueImagesImagesItem["Tags"]["TagsItem"];
for (auto valueImagesImagesItemTagsTagsItem : allTagsNode)
{
ImagesItem::TagsItem tagsObject;
if(!valueImagesImagesItemTagsTagsItem["TagConfidence"].isNull())
tagsObject.tagConfidence = std::stof(valueImagesImagesItemTagsTagsItem["TagConfidence"].asString());
if(!valueImagesImagesItemTagsTagsItem["TagLevel"].isNull())
tagsObject.tagLevel = std::stoi(valueImagesImagesItemTagsTagsItem["TagLevel"].asString());
if(!valueImagesImagesItemTagsTagsItem["TagName"].isNull())
tagsObject.tagName = valueImagesImagesItemTagsTagsItem["TagName"].asString();
if(!valueImagesImagesItemTagsTagsItem["ParentTagName"].isNull())
tagsObject.parentTagName = valueImagesImagesItemTagsTagsItem["ParentTagName"].asString();
imagesObject.tags.push_back(tagsObject);
}
auto allOCRNode = valueImagesImagesItem["OCR"]["OCRItem"];
for (auto valueImagesImagesItemOCROCRItem : allOCRNode)
{
ImagesItem::OCRItem oCRObject;
if(!valueImagesImagesItemOCROCRItem["OCRContents"].isNull())
oCRObject.oCRContents = valueImagesImagesItemOCROCRItem["OCRContents"].asString();
if(!valueImagesImagesItemOCROCRItem["OCRConfidence"].isNull())
oCRObject.oCRConfidence = std::stof(valueImagesImagesItemOCROCRItem["OCRConfidence"].asString());
auto oCRBoundaryNode = value["OCRBoundary"];
if(!oCRBoundaryNode["Left"].isNull())
oCRObject.oCRBoundary.left = std::stoi(oCRBoundaryNode["Left"].asString());
if(!oCRBoundaryNode["Top"].isNull())
oCRObject.oCRBoundary.top = std::stoi(oCRBoundaryNode["Top"].asString());
if(!oCRBoundaryNode["Width"].isNull())
oCRObject.oCRBoundary.width = std::stoi(oCRBoundaryNode["Width"].asString());
if(!oCRBoundaryNode["Height"].isNull())
oCRObject.oCRBoundary.height = std::stoi(oCRBoundaryNode["Height"].asString());
imagesObject.oCR.push_back(oCRObject);
}
auto allCelebrityNode = valueImagesImagesItem["Celebrity"]["CelebrityItem"];
for (auto valueImagesImagesItemCelebrityCelebrityItem : allCelebrityNode)
{
ImagesItem::CelebrityItem celebrityObject;
if(!valueImagesImagesItemCelebrityCelebrityItem["CelebrityName"].isNull())
celebrityObject.celebrityName = valueImagesImagesItemCelebrityCelebrityItem["CelebrityName"].asString();
if(!valueImagesImagesItemCelebrityCelebrityItem["CelebrityGender"].isNull())
celebrityObject.celebrityGender = valueImagesImagesItemCelebrityCelebrityItem["CelebrityGender"].asString();
if(!valueImagesImagesItemCelebrityCelebrityItem["CelebrityConfidence"].isNull())
celebrityObject.celebrityConfidence = std::stof(valueImagesImagesItemCelebrityCelebrityItem["CelebrityConfidence"].asString());
if(!valueImagesImagesItemCelebrityCelebrityItem["CelebrityLibraryName"].isNull())
celebrityObject.celebrityLibraryName = valueImagesImagesItemCelebrityCelebrityItem["CelebrityLibraryName"].asString();
auto celebrityBoundaryNode = value["CelebrityBoundary"];
if(!celebrityBoundaryNode["Left"].isNull())
celebrityObject.celebrityBoundary.left = std::stoi(celebrityBoundaryNode["Left"].asString());
if(!celebrityBoundaryNode["Top"].isNull())
celebrityObject.celebrityBoundary.top = std::stoi(celebrityBoundaryNode["Top"].asString());
if(!celebrityBoundaryNode["Width"].isNull())
celebrityObject.celebrityBoundary.width = std::stoi(celebrityBoundaryNode["Width"].asString());
if(!celebrityBoundaryNode["Height"].isNull())
celebrityObject.celebrityBoundary.height = std::stoi(celebrityBoundaryNode["Height"].asString());
imagesObject.celebrity.push_back(celebrityObject);
}
auto imageQualityNode = value["ImageQuality"];
if(!imageQualityNode["OverallScore"].isNull())
imagesObject.imageQuality.overallScore = std::stof(imageQualityNode["OverallScore"].asString());
if(!imageQualityNode["ClarityScore"].isNull())
imagesObject.imageQuality.clarityScore = std::stof(imageQualityNode["ClarityScore"].asString());
if(!imageQualityNode["Clarity"].isNull())
imagesObject.imageQuality.clarity = std::stof(imageQualityNode["Clarity"].asString());
if(!imageQualityNode["ExposureScore"].isNull())
imagesObject.imageQuality.exposureScore = std::stof(imageQualityNode["ExposureScore"].asString());
if(!imageQualityNode["Exposure"].isNull())
imagesObject.imageQuality.exposure = std::stof(imageQualityNode["Exposure"].asString());
if(!imageQualityNode["ContrastScore"].isNull())
imagesObject.imageQuality.contrastScore = std::stof(imageQualityNode["ContrastScore"].asString());
if(!imageQualityNode["Contrast"].isNull())
imagesObject.imageQuality.contrast = std::stof(imageQualityNode["Contrast"].asString());
if(!imageQualityNode["ColorScore"].isNull())
imagesObject.imageQuality.colorScore = std::stof(imageQualityNode["ColorScore"].asString());
if(!imageQualityNode["Color"].isNull())
imagesObject.imageQuality.color = std::stof(imageQualityNode["Color"].asString());
if(!imageQualityNode["CompositionScore"].isNull())
imagesObject.imageQuality.compositionScore = std::stof(imageQualityNode["CompositionScore"].asString());
auto addressNode = value["Address"];
if(!addressNode["AddressLine"].isNull())
imagesObject.address.addressLine = addressNode["AddressLine"].asString();
if(!addressNode["Country"].isNull())
imagesObject.address.country = addressNode["Country"].asString();
if(!addressNode["Province"].isNull())
imagesObject.address.province = addressNode["Province"].asString();
if(!addressNode["City"].isNull())
imagesObject.address.city = addressNode["City"].asString();
if(!addressNode["District"].isNull())
imagesObject.address.district = addressNode["District"].asString();
if(!addressNode["Township"].isNull())
imagesObject.address.township = addressNode["Township"].asString();
images_.push_back(imagesObject);
}
if(!value["SetId"].isNull())
setId_ = value["SetId"].asString();
if(!value["NextMarker"].isNull())
nextMarker_ = value["NextMarker"].asString();
}
std::vector<ListImagesResult::ImagesItem> ListImagesResult::getImages()const
{
return images_;
}
std::string ListImagesResult::getSetId()const
{
return setId_;
}
std::string ListImagesResult::getNextMarker()const
{
return nextMarker_;
}