diff --git a/CHANGELOG b/CHANGELOG index b1400140b..513c071a0 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +2020-09-04 Version: patch +- Add GetImageQuality API. +- Add more info as parameters to Images related APIs. + 2020-09-03 Version: 1.36.632 - DescribeCameraStatistics add parameters. diff --git a/imm/CMakeLists.txt b/imm/CMakeLists.txt index fa7b945db..a73bc8834 100644 --- a/imm/CMakeLists.txt +++ b/imm/CMakeLists.txt @@ -109,6 +109,8 @@ set(imm_public_header_model include/alibabacloud/imm/model/GetImageCroppingSuggestionsResult.h include/alibabacloud/imm/model/GetImageJobRequest.h include/alibabacloud/imm/model/GetImageJobResult.h + include/alibabacloud/imm/model/GetImageQualityRequest.h + include/alibabacloud/imm/model/GetImageQualityResult.h include/alibabacloud/imm/model/GetMediaMetaRequest.h include/alibabacloud/imm/model/GetMediaMetaResult.h include/alibabacloud/imm/model/GetOfficeConversionTaskRequest.h @@ -264,6 +266,8 @@ set(imm_src src/model/GetImageCroppingSuggestionsResult.cc src/model/GetImageJobRequest.cc src/model/GetImageJobResult.cc + src/model/GetImageQualityRequest.cc + src/model/GetImageQualityResult.cc src/model/GetMediaMetaRequest.cc src/model/GetMediaMetaResult.cc src/model/GetOfficeConversionTaskRequest.cc diff --git a/imm/include/alibabacloud/imm/ImmClient.h b/imm/include/alibabacloud/imm/ImmClient.h index c0c94aec4..a65549e03 100644 --- a/imm/include/alibabacloud/imm/ImmClient.h +++ b/imm/include/alibabacloud/imm/ImmClient.h @@ -110,6 +110,8 @@ #include "model/GetImageCroppingSuggestionsResult.h" #include "model/GetImageJobRequest.h" #include "model/GetImageJobResult.h" +#include "model/GetImageQualityRequest.h" +#include "model/GetImageQualityResult.h" #include "model/GetMediaMetaRequest.h" #include "model/GetMediaMetaResult.h" #include "model/GetOfficeConversionTaskRequest.h" @@ -315,6 +317,9 @@ namespace AlibabaCloud typedef Outcome GetImageJobOutcome; typedef std::future GetImageJobOutcomeCallable; typedef std::function&)> GetImageJobAsyncHandler; + typedef Outcome GetImageQualityOutcome; + typedef std::future GetImageQualityOutcomeCallable; + typedef std::function&)> GetImageQualityAsyncHandler; typedef Outcome GetMediaMetaOutcome; typedef std::future GetMediaMetaOutcomeCallable; typedef std::function&)> GetMediaMetaAsyncHandler; @@ -548,6 +553,9 @@ namespace AlibabaCloud GetImageJobOutcome getImageJob(const Model::GetImageJobRequest &request)const; void getImageJobAsync(const Model::GetImageJobRequest& request, const GetImageJobAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; GetImageJobOutcomeCallable getImageJobCallable(const Model::GetImageJobRequest& request) const; + GetImageQualityOutcome getImageQuality(const Model::GetImageQualityRequest &request)const; + void getImageQualityAsync(const Model::GetImageQualityRequest& request, const GetImageQualityAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + GetImageQualityOutcomeCallable getImageQualityCallable(const Model::GetImageQualityRequest& request) const; GetMediaMetaOutcome getMediaMeta(const Model::GetMediaMetaRequest &request)const; void getMediaMetaAsync(const Model::GetMediaMetaRequest& request, const GetMediaMetaAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; GetMediaMetaOutcomeCallable getMediaMetaCallable(const Model::GetMediaMetaRequest& request) const; diff --git a/imm/include/alibabacloud/imm/model/GetImageQualityRequest.h b/imm/include/alibabacloud/imm/model/GetImageQualityRequest.h new file mode 100644 index 000000000..2f632cae0 --- /dev/null +++ b/imm/include/alibabacloud/imm/model/GetImageQualityRequest.h @@ -0,0 +1,54 @@ +/* + * 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. + */ + +#ifndef ALIBABACLOUD_IMM_MODEL_GETIMAGEQUALITYREQUEST_H_ +#define ALIBABACLOUD_IMM_MODEL_GETIMAGEQUALITYREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Imm + { + namespace Model + { + class ALIBABACLOUD_IMM_EXPORT GetImageQualityRequest : public RpcServiceRequest + { + + public: + GetImageQualityRequest(); + ~GetImageQualityRequest(); + + std::string getProject()const; + void setProject(const std::string& project); + std::string getAccessKeyId()const; + void setAccessKeyId(const std::string& accessKeyId); + std::string getImageUri()const; + void setImageUri(const std::string& imageUri); + + private: + std::string project_; + std::string accessKeyId_; + std::string imageUri_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IMM_MODEL_GETIMAGEQUALITYREQUEST_H_ \ No newline at end of file diff --git a/imm/include/alibabacloud/imm/model/GetImageQualityResult.h b/imm/include/alibabacloud/imm/model/GetImageQualityResult.h new file mode 100644 index 000000000..356f91b4f --- /dev/null +++ b/imm/include/alibabacloud/imm/model/GetImageQualityResult.h @@ -0,0 +1,66 @@ +/* + * 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. + */ + +#ifndef ALIBABACLOUD_IMM_MODEL_GETIMAGEQUALITYRESULT_H_ +#define ALIBABACLOUD_IMM_MODEL_GETIMAGEQUALITYRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Imm + { + namespace Model + { + class ALIBABACLOUD_IMM_EXPORT GetImageQualityResult : public ServiceResult + { + public: + struct ImageQuality + { + float clarityScore; + float compositionScore; + float contrastScore; + float color; + float exposure; + float overallScore; + float clarity; + float contrast; + float exposureScore; + float colorScore; + }; + + + GetImageQualityResult(); + explicit GetImageQualityResult(const std::string &payload); + ~GetImageQualityResult(); + ImageQuality getImageQuality()const; + std::string getImageUri()const; + + protected: + void parse(const std::string &payload); + private: + ImageQuality imageQuality_; + std::string imageUri_; + + }; + } + } +} +#endif // !ALIBABACLOUD_IMM_MODEL_GETIMAGEQUALITYRESULT_H_ \ No newline at end of file diff --git a/imm/include/alibabacloud/imm/model/GetVideoResult.h b/imm/include/alibabacloud/imm/model/GetVideoResult.h index 737e3111e..ab6441a23 100644 --- a/imm/include/alibabacloud/imm/model/GetVideoResult.h +++ b/imm/include/alibabacloud/imm/model/GetVideoResult.h @@ -42,6 +42,7 @@ namespace AlibabaCloud { std::string videoTagEnName; std::string videoTagName; + int videoTagLevel; float videoTagConfidence; }; struct PersonsItem @@ -62,23 +63,36 @@ namespace AlibabaCloud int getVideoWidth()const; std::string getSourceType()const; std::string getSourceUri()const; + std::string getVideoInfo()const; std::string getRemarksA()const; + std::string getVideoFrameTagsModifyTime()const; std::string getRemarksB()const; + std::string getVideoFacesFailReason()const; + std::string getVideoFacesStatus()const; std::string getRemarksC()const; + std::string getVideoOCRModifyTime()const; std::string getRemarksD()const; int getVideoHeight()const; std::vector getPersons()const; std::vector getCelebrity()const; std::string getSourcePosition()const; + std::string getVideoOCRFailReason()const; + std::string getVideoFrameTagsStatus()const; std::string getVideoTagsFailReason()const; std::string getVideoTagsModifyTime()const; + std::string getVideoOCRStatus()const; int getVideoFrames()const; std::string getProcessModifyTime()const; + std::string getVideoSTTModifyTime()const; std::string getProcessFailReason()const; std::string getCreateTime()const; std::string getExternalId()const; + std::string getVideoSTTFailReason()const; std::string getVideoUri()const; std::string getVideoFormat()const; + std::string getVideoFrameTagsFailReason()const; + std::string getVideoSTTStatus()const; + std::string getVideoFacesModifyTime()const; std::vector getVideoTags()const; std::string getCelebrityModifyTime()const; float getVideoDuration()const; @@ -96,23 +110,36 @@ namespace AlibabaCloud int videoWidth_; std::string sourceType_; std::string sourceUri_; + std::string videoInfo_; std::string remarksA_; + std::string videoFrameTagsModifyTime_; std::string remarksB_; + std::string videoFacesFailReason_; + std::string videoFacesStatus_; std::string remarksC_; + std::string videoOCRModifyTime_; std::string remarksD_; int videoHeight_; std::vector persons_; std::vector celebrity_; std::string sourcePosition_; + std::string videoOCRFailReason_; + std::string videoFrameTagsStatus_; std::string videoTagsFailReason_; std::string videoTagsModifyTime_; + std::string videoOCRStatus_; int videoFrames_; std::string processModifyTime_; + std::string videoSTTModifyTime_; std::string processFailReason_; std::string createTime_; std::string externalId_; + std::string videoSTTFailReason_; std::string videoUri_; std::string videoFormat_; + std::string videoFrameTagsFailReason_; + std::string videoSTTStatus_; + std::string videoFacesModifyTime_; std::vector videoTags_; std::string celebrityModifyTime_; float videoDuration_; diff --git a/imm/include/alibabacloud/imm/model/IndexVideoRequest.h b/imm/include/alibabacloud/imm/model/IndexVideoRequest.h index 943cdc5d5..22a456479 100644 --- a/imm/include/alibabacloud/imm/model/IndexVideoRequest.h +++ b/imm/include/alibabacloud/imm/model/IndexVideoRequest.h @@ -45,6 +45,10 @@ namespace AlibabaCloud void setStartTime(const std::string& startTime); std::string getAccessKeyId()const; void setAccessKeyId(const std::string& accessKeyId); + std::string getNotifyEndpoint()const; + void setNotifyEndpoint(const std::string& notifyEndpoint); + std::string getNotifyTopicName()const; + void setNotifyTopicName(const std::string& notifyTopicName); std::string getRemarksB()const; void setRemarksB(const std::string& remarksB); std::string getRemarksA()const; @@ -72,6 +76,8 @@ namespace AlibabaCloud std::string externalId_; std::string startTime_; std::string accessKeyId_; + std::string notifyEndpoint_; + std::string notifyTopicName_; std::string remarksB_; std::string remarksA_; std::string endTime_; diff --git a/imm/include/alibabacloud/imm/model/ListFaceGroupsResult.h b/imm/include/alibabacloud/imm/model/ListFaceGroupsResult.h index 309860c19..cec8765e4 100644 --- a/imm/include/alibabacloud/imm/model/ListFaceGroupsResult.h +++ b/imm/include/alibabacloud/imm/model/ListFaceGroupsResult.h @@ -52,12 +52,16 @@ namespace AlibabaCloud std::string modifyTime; std::string createTime; std::string externalId; + float maxAge; + std::string gender; std::string remarksA; + float averageAge; std::string remarksB; std::string groupId; std::string remarksArrayB; std::string remarksC; int imageCount; + float minAge; std::string remarksD; std::string remarksArrayA; int faceCount; diff --git a/imm/src/ImmClient.cc b/imm/src/ImmClient.cc index bfe68804c..1a3f13638 100644 --- a/imm/src/ImmClient.cc +++ b/imm/src/ImmClient.cc @@ -1635,6 +1635,42 @@ ImmClient::GetImageJobOutcomeCallable ImmClient::getImageJobCallable(const GetIm return task->get_future(); } +ImmClient::GetImageQualityOutcome ImmClient::getImageQuality(const GetImageQualityRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return GetImageQualityOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return GetImageQualityOutcome(GetImageQualityResult(outcome.result())); + else + return GetImageQualityOutcome(outcome.error()); +} + +void ImmClient::getImageQualityAsync(const GetImageQualityRequest& request, const GetImageQualityAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, getImageQuality(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +ImmClient::GetImageQualityOutcomeCallable ImmClient::getImageQualityCallable(const GetImageQualityRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->getImageQuality(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + ImmClient::GetMediaMetaOutcome ImmClient::getMediaMeta(const GetMediaMetaRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); diff --git a/imm/src/model/GetImageQualityRequest.cc b/imm/src/model/GetImageQualityRequest.cc new file mode 100644 index 000000000..577782da0 --- /dev/null +++ b/imm/src/model/GetImageQualityRequest.cc @@ -0,0 +1,62 @@ +/* + * 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 + +using AlibabaCloud::Imm::Model::GetImageQualityRequest; + +GetImageQualityRequest::GetImageQualityRequest() : + RpcServiceRequest("imm", "2017-09-06", "GetImageQuality") +{ + setMethod(HttpRequest::Method::Post); +} + +GetImageQualityRequest::~GetImageQualityRequest() +{} + +std::string GetImageQualityRequest::getProject()const +{ + return project_; +} + +void GetImageQualityRequest::setProject(const std::string& project) +{ + project_ = project; + setParameter("Project", project); +} + +std::string GetImageQualityRequest::getAccessKeyId()const +{ + return accessKeyId_; +} + +void GetImageQualityRequest::setAccessKeyId(const std::string& accessKeyId) +{ + accessKeyId_ = accessKeyId; + setParameter("AccessKeyId", accessKeyId); +} + +std::string GetImageQualityRequest::getImageUri()const +{ + return imageUri_; +} + +void GetImageQualityRequest::setImageUri(const std::string& imageUri) +{ + imageUri_ = imageUri; + setParameter("ImageUri", imageUri); +} + diff --git a/imm/src/model/GetImageQualityResult.cc b/imm/src/model/GetImageQualityResult.cc new file mode 100644 index 000000000..efee10f91 --- /dev/null +++ b/imm/src/model/GetImageQualityResult.cc @@ -0,0 +1,77 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::Imm; +using namespace AlibabaCloud::Imm::Model; + +GetImageQualityResult::GetImageQualityResult() : + ServiceResult() +{} + +GetImageQualityResult::GetImageQualityResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +GetImageQualityResult::~GetImageQualityResult() +{} + +void GetImageQualityResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + auto imageQualityNode = value["ImageQuality"]; + if(!imageQualityNode["OverallScore"].isNull()) + imageQuality_.overallScore = std::stof(imageQualityNode["OverallScore"].asString()); + if(!imageQualityNode["ClarityScore"].isNull()) + imageQuality_.clarityScore = std::stof(imageQualityNode["ClarityScore"].asString()); + if(!imageQualityNode["Clarity"].isNull()) + imageQuality_.clarity = std::stof(imageQualityNode["Clarity"].asString()); + if(!imageQualityNode["ExposureScore"].isNull()) + imageQuality_.exposureScore = std::stof(imageQualityNode["ExposureScore"].asString()); + if(!imageQualityNode["Exposure"].isNull()) + imageQuality_.exposure = std::stof(imageQualityNode["Exposure"].asString()); + if(!imageQualityNode["ContrastScore"].isNull()) + imageQuality_.contrastScore = std::stof(imageQualityNode["ContrastScore"].asString()); + if(!imageQualityNode["Contrast"].isNull()) + imageQuality_.contrast = std::stof(imageQualityNode["Contrast"].asString()); + if(!imageQualityNode["ColorScore"].isNull()) + imageQuality_.colorScore = std::stof(imageQualityNode["ColorScore"].asString()); + if(!imageQualityNode["Color"].isNull()) + imageQuality_.color = std::stof(imageQualityNode["Color"].asString()); + if(!imageQualityNode["CompositionScore"].isNull()) + imageQuality_.compositionScore = std::stof(imageQualityNode["CompositionScore"].asString()); + if(!value["ImageUri"].isNull()) + imageUri_ = value["ImageUri"].asString(); + +} + +GetImageQualityResult::ImageQuality GetImageQualityResult::getImageQuality()const +{ + return imageQuality_; +} + +std::string GetImageQualityResult::getImageUri()const +{ + return imageUri_; +} + diff --git a/imm/src/model/GetVideoResult.cc b/imm/src/model/GetVideoResult.cc index 2f456732d..3e1711c21 100644 --- a/imm/src/model/GetVideoResult.cc +++ b/imm/src/model/GetVideoResult.cc @@ -61,6 +61,8 @@ void GetVideoResult::parse(const std::string &payload) videoTagsObject.videoTagEnName = valueVideoTagsVideoTagsItem["VideoTagEnName"].asString(); if(!valueVideoTagsVideoTagsItem["VideoTagConfidence"].isNull()) videoTagsObject.videoTagConfidence = std::stof(valueVideoTagsVideoTagsItem["VideoTagConfidence"].asString()); + if(!valueVideoTagsVideoTagsItem["VideoTagLevel"].isNull()) + videoTagsObject.videoTagLevel = std::stoi(valueVideoTagsVideoTagsItem["VideoTagLevel"].asString()); videoTags_.push_back(videoTagsObject); } auto allPersonsNode = value["Persons"]["PersonsItem"]; @@ -133,6 +135,32 @@ void GetVideoResult::parse(const std::string &payload) remarksD_ = value["RemarksD"].asString(); if(!value["ExternalId"].isNull()) externalId_ = value["ExternalId"].asString(); + if(!value["VideoFacesStatus"].isNull()) + videoFacesStatus_ = value["VideoFacesStatus"].asString(); + if(!value["VideoFacesFailReason"].isNull()) + videoFacesFailReason_ = value["VideoFacesFailReason"].asString(); + if(!value["VideoFacesModifyTime"].isNull()) + videoFacesModifyTime_ = value["VideoFacesModifyTime"].asString(); + if(!value["VideoFrameTagsStatus"].isNull()) + videoFrameTagsStatus_ = value["VideoFrameTagsStatus"].asString(); + if(!value["VideoFrameTagsFailReason"].isNull()) + videoFrameTagsFailReason_ = value["VideoFrameTagsFailReason"].asString(); + if(!value["VideoFrameTagsModifyTime"].isNull()) + videoFrameTagsModifyTime_ = value["VideoFrameTagsModifyTime"].asString(); + if(!value["VideoSTTStatus"].isNull()) + videoSTTStatus_ = value["VideoSTTStatus"].asString(); + if(!value["VideoSTTFailReason"].isNull()) + videoSTTFailReason_ = value["VideoSTTFailReason"].asString(); + if(!value["VideoSTTModifyTime"].isNull()) + videoSTTModifyTime_ = value["VideoSTTModifyTime"].asString(); + if(!value["VideoOCRStatus"].isNull()) + videoOCRStatus_ = value["VideoOCRStatus"].asString(); + if(!value["VideoOCRFailReason"].isNull()) + videoOCRFailReason_ = value["VideoOCRFailReason"].asString(); + if(!value["VideoOCRModifyTime"].isNull()) + videoOCRModifyTime_ = value["VideoOCRModifyTime"].asString(); + if(!value["VideoInfo"].isNull()) + videoInfo_ = value["VideoInfo"].asString(); } @@ -161,21 +189,46 @@ std::string GetVideoResult::getSourceUri()const return sourceUri_; } +std::string GetVideoResult::getVideoInfo()const +{ + return videoInfo_; +} + std::string GetVideoResult::getRemarksA()const { return remarksA_; } +std::string GetVideoResult::getVideoFrameTagsModifyTime()const +{ + return videoFrameTagsModifyTime_; +} + std::string GetVideoResult::getRemarksB()const { return remarksB_; } +std::string GetVideoResult::getVideoFacesFailReason()const +{ + return videoFacesFailReason_; +} + +std::string GetVideoResult::getVideoFacesStatus()const +{ + return videoFacesStatus_; +} + std::string GetVideoResult::getRemarksC()const { return remarksC_; } +std::string GetVideoResult::getVideoOCRModifyTime()const +{ + return videoOCRModifyTime_; +} + std::string GetVideoResult::getRemarksD()const { return remarksD_; @@ -201,6 +254,16 @@ std::string GetVideoResult::getSourcePosition()const return sourcePosition_; } +std::string GetVideoResult::getVideoOCRFailReason()const +{ + return videoOCRFailReason_; +} + +std::string GetVideoResult::getVideoFrameTagsStatus()const +{ + return videoFrameTagsStatus_; +} + std::string GetVideoResult::getVideoTagsFailReason()const { return videoTagsFailReason_; @@ -211,6 +274,11 @@ std::string GetVideoResult::getVideoTagsModifyTime()const return videoTagsModifyTime_; } +std::string GetVideoResult::getVideoOCRStatus()const +{ + return videoOCRStatus_; +} + int GetVideoResult::getVideoFrames()const { return videoFrames_; @@ -221,6 +289,11 @@ std::string GetVideoResult::getProcessModifyTime()const return processModifyTime_; } +std::string GetVideoResult::getVideoSTTModifyTime()const +{ + return videoSTTModifyTime_; +} + std::string GetVideoResult::getProcessFailReason()const { return processFailReason_; @@ -236,6 +309,11 @@ std::string GetVideoResult::getExternalId()const return externalId_; } +std::string GetVideoResult::getVideoSTTFailReason()const +{ + return videoSTTFailReason_; +} + std::string GetVideoResult::getVideoUri()const { return videoUri_; @@ -246,6 +324,21 @@ std::string GetVideoResult::getVideoFormat()const return videoFormat_; } +std::string GetVideoResult::getVideoFrameTagsFailReason()const +{ + return videoFrameTagsFailReason_; +} + +std::string GetVideoResult::getVideoSTTStatus()const +{ + return videoSTTStatus_; +} + +std::string GetVideoResult::getVideoFacesModifyTime()const +{ + return videoFacesModifyTime_; +} + std::vector GetVideoResult::getVideoTags()const { return videoTags_; diff --git a/imm/src/model/IndexVideoRequest.cc b/imm/src/model/IndexVideoRequest.cc index e2e392e79..6d40dec1b 100644 --- a/imm/src/model/IndexVideoRequest.cc +++ b/imm/src/model/IndexVideoRequest.cc @@ -82,6 +82,28 @@ void IndexVideoRequest::setAccessKeyId(const std::string& accessKeyId) setParameter("AccessKeyId", accessKeyId); } +std::string IndexVideoRequest::getNotifyEndpoint()const +{ + return notifyEndpoint_; +} + +void IndexVideoRequest::setNotifyEndpoint(const std::string& notifyEndpoint) +{ + notifyEndpoint_ = notifyEndpoint; + setParameter("NotifyEndpoint", notifyEndpoint); +} + +std::string IndexVideoRequest::getNotifyTopicName()const +{ + return notifyTopicName_; +} + +void IndexVideoRequest::setNotifyTopicName(const std::string& notifyTopicName) +{ + notifyTopicName_ = notifyTopicName; + setParameter("NotifyTopicName", notifyTopicName); +} + std::string IndexVideoRequest::getRemarksB()const { return remarksB_; diff --git a/imm/src/model/ListFaceGroupsResult.cc b/imm/src/model/ListFaceGroupsResult.cc index d87fefd85..186ad42eb 100644 --- a/imm/src/model/ListFaceGroupsResult.cc +++ b/imm/src/model/ListFaceGroupsResult.cc @@ -69,6 +69,14 @@ void ListFaceGroupsResult::parse(const std::string &payload) faceGroupsObject.externalId = valueFaceGroupsFaceGroupsItem["ExternalId"].asString(); if(!valueFaceGroupsFaceGroupsItem["ImageCount"].isNull()) faceGroupsObject.imageCount = std::stoi(valueFaceGroupsFaceGroupsItem["ImageCount"].asString()); + if(!valueFaceGroupsFaceGroupsItem["Gender"].isNull()) + faceGroupsObject.gender = valueFaceGroupsFaceGroupsItem["Gender"].asString(); + if(!valueFaceGroupsFaceGroupsItem["MaxAge"].isNull()) + faceGroupsObject.maxAge = std::stof(valueFaceGroupsFaceGroupsItem["MaxAge"].asString()); + if(!valueFaceGroupsFaceGroupsItem["AverageAge"].isNull()) + faceGroupsObject.averageAge = std::stof(valueFaceGroupsFaceGroupsItem["AverageAge"].asString()); + if(!valueFaceGroupsFaceGroupsItem["MinAge"].isNull()) + faceGroupsObject.minAge = std::stof(valueFaceGroupsFaceGroupsItem["MinAge"].asString()); auto groupCoverFaceNode = value["GroupCoverFace"]; if(!groupCoverFaceNode["FaceId"].isNull()) faceGroupsObject.groupCoverFace.faceId = groupCoverFaceNode["FaceId"].asString();