diff --git a/CHANGELOG b/CHANGELOG index ae47516ee..eb984b645 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +2020-11-16 Version: patch +- Update objectdet. + 2020-11-16 Version: patch - Update imgsearch. diff --git a/objectdet/CMakeLists.txt b/objectdet/CMakeLists.txt new file mode 100644 index 000000000..4010bb376 --- /dev/null +++ b/objectdet/CMakeLists.txt @@ -0,0 +1,126 @@ +# +# 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. +# + +set(public_header_dir ${CMAKE_CURRENT_SOURCE_DIR}/../include) + +set(objectdet_public_header + include/alibabacloud/objectdet/ObjectdetClient.h + include/alibabacloud/objectdet/ObjectdetExport.h ) + +set(objectdet_public_header_model + include/alibabacloud/objectdet/model/ClassifyVehicleInsuranceRequest.h + include/alibabacloud/objectdet/model/ClassifyVehicleInsuranceResult.h + include/alibabacloud/objectdet/model/DetectMainBodyRequest.h + include/alibabacloud/objectdet/model/DetectMainBodyResult.h + include/alibabacloud/objectdet/model/DetectObjectRequest.h + include/alibabacloud/objectdet/model/DetectObjectResult.h + include/alibabacloud/objectdet/model/DetectTransparentImageRequest.h + include/alibabacloud/objectdet/model/DetectTransparentImageResult.h + include/alibabacloud/objectdet/model/DetectVehicleRequest.h + include/alibabacloud/objectdet/model/DetectVehicleResult.h + include/alibabacloud/objectdet/model/DetectWhiteBaseImageRequest.h + include/alibabacloud/objectdet/model/DetectWhiteBaseImageResult.h + include/alibabacloud/objectdet/model/GenerateVehicleRepairPlanRequest.h + include/alibabacloud/objectdet/model/GenerateVehicleRepairPlanResult.h + include/alibabacloud/objectdet/model/GetVehicleRepairPlanRequest.h + include/alibabacloud/objectdet/model/GetVehicleRepairPlanResult.h + include/alibabacloud/objectdet/model/RecognizeVehicleDamageRequest.h + include/alibabacloud/objectdet/model/RecognizeVehicleDamageResult.h + include/alibabacloud/objectdet/model/RecognizeVehicleDashboardRequest.h + include/alibabacloud/objectdet/model/RecognizeVehicleDashboardResult.h + include/alibabacloud/objectdet/model/RecognizeVehiclePartsRequest.h + include/alibabacloud/objectdet/model/RecognizeVehiclePartsResult.h ) + +set(objectdet_src + src/ObjectdetClient.cc + src/model/ClassifyVehicleInsuranceRequest.cc + src/model/ClassifyVehicleInsuranceResult.cc + src/model/DetectMainBodyRequest.cc + src/model/DetectMainBodyResult.cc + src/model/DetectObjectRequest.cc + src/model/DetectObjectResult.cc + src/model/DetectTransparentImageRequest.cc + src/model/DetectTransparentImageResult.cc + src/model/DetectVehicleRequest.cc + src/model/DetectVehicleResult.cc + src/model/DetectWhiteBaseImageRequest.cc + src/model/DetectWhiteBaseImageResult.cc + src/model/GenerateVehicleRepairPlanRequest.cc + src/model/GenerateVehicleRepairPlanResult.cc + src/model/GetVehicleRepairPlanRequest.cc + src/model/GetVehicleRepairPlanResult.cc + src/model/RecognizeVehicleDamageRequest.cc + src/model/RecognizeVehicleDamageResult.cc + src/model/RecognizeVehicleDashboardRequest.cc + src/model/RecognizeVehicleDashboardResult.cc + src/model/RecognizeVehiclePartsRequest.cc + src/model/RecognizeVehiclePartsResult.cc ) + +add_library(objectdet ${LIB_TYPE} + ${objectdet_public_header} + ${objectdet_public_header_model} + ${objectdet_src}) + +set_target_properties(objectdet + PROPERTIES + LINKER_LANGUAGE CXX + ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin + OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}objectdet + ) + +if(${LIB_TYPE} STREQUAL "SHARED") + set_target_properties(objectdet + PROPERTIES + DEFINE_SYMBOL ALIBABACLOUD_OBJECTDET_LIBRARY) +endif() + +target_include_directories(objectdet + PRIVATE include + ${CMAKE_SOURCE_DIR}/core/include + ) +target_link_libraries(objectdet + core) + +if(CMAKE_HOST_WIN32) + ExternalProject_Get_Property(jsoncpp INSTALL_DIR) + set(jsoncpp_install_dir ${INSTALL_DIR}) + add_dependencies(objectdet + jsoncpp) + target_include_directories(objectdet + PRIVATE ${jsoncpp_install_dir}/include) + target_link_libraries(objectdet + ${jsoncpp_install_dir}/lib/jsoncpp.lib) + set_target_properties(objectdet + PROPERTIES + COMPILE_OPTIONS "/bigobj") +else() + target_include_directories(objectdet + PRIVATE /usr/include/jsoncpp) + target_link_libraries(objectdet + jsoncpp) +endif() + +install(FILES ${objectdet_public_header} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/objectdet) +install(FILES ${objectdet_public_header_model} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/objectdet/model) +install(TARGETS objectdet + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ) \ No newline at end of file diff --git a/objectdet/include/alibabacloud/objectdet/ObjectdetClient.h b/objectdet/include/alibabacloud/objectdet/ObjectdetClient.h new file mode 100644 index 000000000..78c14392c --- /dev/null +++ b/objectdet/include/alibabacloud/objectdet/ObjectdetClient.h @@ -0,0 +1,134 @@ +/* + * 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_OBJECTDET_OBJECTDETCLIENT_H_ +#define ALIBABACLOUD_OBJECTDET_OBJECTDETCLIENT_H_ + +#include +#include +#include +#include +#include "ObjectdetExport.h" +#include "model/ClassifyVehicleInsuranceRequest.h" +#include "model/ClassifyVehicleInsuranceResult.h" +#include "model/DetectMainBodyRequest.h" +#include "model/DetectMainBodyResult.h" +#include "model/DetectObjectRequest.h" +#include "model/DetectObjectResult.h" +#include "model/DetectTransparentImageRequest.h" +#include "model/DetectTransparentImageResult.h" +#include "model/DetectVehicleRequest.h" +#include "model/DetectVehicleResult.h" +#include "model/DetectWhiteBaseImageRequest.h" +#include "model/DetectWhiteBaseImageResult.h" +#include "model/GenerateVehicleRepairPlanRequest.h" +#include "model/GenerateVehicleRepairPlanResult.h" +#include "model/GetVehicleRepairPlanRequest.h" +#include "model/GetVehicleRepairPlanResult.h" +#include "model/RecognizeVehicleDamageRequest.h" +#include "model/RecognizeVehicleDamageResult.h" +#include "model/RecognizeVehicleDashboardRequest.h" +#include "model/RecognizeVehicleDashboardResult.h" +#include "model/RecognizeVehiclePartsRequest.h" +#include "model/RecognizeVehiclePartsResult.h" + + +namespace AlibabaCloud +{ + namespace Objectdet + { + class ALIBABACLOUD_OBJECTDET_EXPORT ObjectdetClient : public RpcServiceClient + { + public: + typedef Outcome ClassifyVehicleInsuranceOutcome; + typedef std::future ClassifyVehicleInsuranceOutcomeCallable; + typedef std::function&)> ClassifyVehicleInsuranceAsyncHandler; + typedef Outcome DetectMainBodyOutcome; + typedef std::future DetectMainBodyOutcomeCallable; + typedef std::function&)> DetectMainBodyAsyncHandler; + typedef Outcome DetectObjectOutcome; + typedef std::future DetectObjectOutcomeCallable; + typedef std::function&)> DetectObjectAsyncHandler; + typedef Outcome DetectTransparentImageOutcome; + typedef std::future DetectTransparentImageOutcomeCallable; + typedef std::function&)> DetectTransparentImageAsyncHandler; + typedef Outcome DetectVehicleOutcome; + typedef std::future DetectVehicleOutcomeCallable; + typedef std::function&)> DetectVehicleAsyncHandler; + typedef Outcome DetectWhiteBaseImageOutcome; + typedef std::future DetectWhiteBaseImageOutcomeCallable; + typedef std::function&)> DetectWhiteBaseImageAsyncHandler; + typedef Outcome GenerateVehicleRepairPlanOutcome; + typedef std::future GenerateVehicleRepairPlanOutcomeCallable; + typedef std::function&)> GenerateVehicleRepairPlanAsyncHandler; + typedef Outcome GetVehicleRepairPlanOutcome; + typedef std::future GetVehicleRepairPlanOutcomeCallable; + typedef std::function&)> GetVehicleRepairPlanAsyncHandler; + typedef Outcome RecognizeVehicleDamageOutcome; + typedef std::future RecognizeVehicleDamageOutcomeCallable; + typedef std::function&)> RecognizeVehicleDamageAsyncHandler; + typedef Outcome RecognizeVehicleDashboardOutcome; + typedef std::future RecognizeVehicleDashboardOutcomeCallable; + typedef std::function&)> RecognizeVehicleDashboardAsyncHandler; + typedef Outcome RecognizeVehiclePartsOutcome; + typedef std::future RecognizeVehiclePartsOutcomeCallable; + typedef std::function&)> RecognizeVehiclePartsAsyncHandler; + + ObjectdetClient(const Credentials &credentials, const ClientConfiguration &configuration); + ObjectdetClient(const std::shared_ptr &credentialsProvider, const ClientConfiguration &configuration); + ObjectdetClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration); + ~ObjectdetClient(); + ClassifyVehicleInsuranceOutcome classifyVehicleInsurance(const Model::ClassifyVehicleInsuranceRequest &request)const; + void classifyVehicleInsuranceAsync(const Model::ClassifyVehicleInsuranceRequest& request, const ClassifyVehicleInsuranceAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + ClassifyVehicleInsuranceOutcomeCallable classifyVehicleInsuranceCallable(const Model::ClassifyVehicleInsuranceRequest& request) const; + DetectMainBodyOutcome detectMainBody(const Model::DetectMainBodyRequest &request)const; + void detectMainBodyAsync(const Model::DetectMainBodyRequest& request, const DetectMainBodyAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DetectMainBodyOutcomeCallable detectMainBodyCallable(const Model::DetectMainBodyRequest& request) const; + DetectObjectOutcome detectObject(const Model::DetectObjectRequest &request)const; + void detectObjectAsync(const Model::DetectObjectRequest& request, const DetectObjectAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DetectObjectOutcomeCallable detectObjectCallable(const Model::DetectObjectRequest& request) const; + DetectTransparentImageOutcome detectTransparentImage(const Model::DetectTransparentImageRequest &request)const; + void detectTransparentImageAsync(const Model::DetectTransparentImageRequest& request, const DetectTransparentImageAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DetectTransparentImageOutcomeCallable detectTransparentImageCallable(const Model::DetectTransparentImageRequest& request) const; + DetectVehicleOutcome detectVehicle(const Model::DetectVehicleRequest &request)const; + void detectVehicleAsync(const Model::DetectVehicleRequest& request, const DetectVehicleAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DetectVehicleOutcomeCallable detectVehicleCallable(const Model::DetectVehicleRequest& request) const; + DetectWhiteBaseImageOutcome detectWhiteBaseImage(const Model::DetectWhiteBaseImageRequest &request)const; + void detectWhiteBaseImageAsync(const Model::DetectWhiteBaseImageRequest& request, const DetectWhiteBaseImageAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DetectWhiteBaseImageOutcomeCallable detectWhiteBaseImageCallable(const Model::DetectWhiteBaseImageRequest& request) const; + GenerateVehicleRepairPlanOutcome generateVehicleRepairPlan(const Model::GenerateVehicleRepairPlanRequest &request)const; + void generateVehicleRepairPlanAsync(const Model::GenerateVehicleRepairPlanRequest& request, const GenerateVehicleRepairPlanAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + GenerateVehicleRepairPlanOutcomeCallable generateVehicleRepairPlanCallable(const Model::GenerateVehicleRepairPlanRequest& request) const; + GetVehicleRepairPlanOutcome getVehicleRepairPlan(const Model::GetVehicleRepairPlanRequest &request)const; + void getVehicleRepairPlanAsync(const Model::GetVehicleRepairPlanRequest& request, const GetVehicleRepairPlanAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + GetVehicleRepairPlanOutcomeCallable getVehicleRepairPlanCallable(const Model::GetVehicleRepairPlanRequest& request) const; + RecognizeVehicleDamageOutcome recognizeVehicleDamage(const Model::RecognizeVehicleDamageRequest &request)const; + void recognizeVehicleDamageAsync(const Model::RecognizeVehicleDamageRequest& request, const RecognizeVehicleDamageAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + RecognizeVehicleDamageOutcomeCallable recognizeVehicleDamageCallable(const Model::RecognizeVehicleDamageRequest& request) const; + RecognizeVehicleDashboardOutcome recognizeVehicleDashboard(const Model::RecognizeVehicleDashboardRequest &request)const; + void recognizeVehicleDashboardAsync(const Model::RecognizeVehicleDashboardRequest& request, const RecognizeVehicleDashboardAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + RecognizeVehicleDashboardOutcomeCallable recognizeVehicleDashboardCallable(const Model::RecognizeVehicleDashboardRequest& request) const; + RecognizeVehiclePartsOutcome recognizeVehicleParts(const Model::RecognizeVehiclePartsRequest &request)const; + void recognizeVehiclePartsAsync(const Model::RecognizeVehiclePartsRequest& request, const RecognizeVehiclePartsAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + RecognizeVehiclePartsOutcomeCallable recognizeVehiclePartsCallable(const Model::RecognizeVehiclePartsRequest& request) const; + + private: + std::shared_ptr endpointProvider_; + }; + } +} + +#endif // !ALIBABACLOUD_OBJECTDET_OBJECTDETCLIENT_H_ diff --git a/objectdet/include/alibabacloud/objectdet/ObjectdetExport.h b/objectdet/include/alibabacloud/objectdet/ObjectdetExport.h new file mode 100644 index 000000000..604d9706c --- /dev/null +++ b/objectdet/include/alibabacloud/objectdet/ObjectdetExport.h @@ -0,0 +1,32 @@ +/* + * 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_OBJECTDET_OBJECTDETEXPORT_H_ +#define ALIBABACLOUD_OBJECTDET_OBJECTDETEXPORT_H_ + +#include + +#if defined(ALIBABACLOUD_SHARED) +# if defined(ALIBABACLOUD_OBJECTDET_LIBRARY) +# define ALIBABACLOUD_OBJECTDET_EXPORT ALIBABACLOUD_DECL_EXPORT +# else +# define ALIBABACLOUD_OBJECTDET_EXPORT ALIBABACLOUD_DECL_IMPORT +# endif +#else +# define ALIBABACLOUD_OBJECTDET_EXPORT +#endif + +#endif // !ALIBABACLOUD_OBJECTDET_OBJECTDETEXPORT_H_ \ No newline at end of file diff --git a/objectdet/include/alibabacloud/objectdet/model/ClassifyVehicleInsuranceRequest.h b/objectdet/include/alibabacloud/objectdet/model/ClassifyVehicleInsuranceRequest.h new file mode 100644 index 000000000..0cb478938 --- /dev/null +++ b/objectdet/include/alibabacloud/objectdet/model/ClassifyVehicleInsuranceRequest.h @@ -0,0 +1,48 @@ +/* + * 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_OBJECTDET_MODEL_CLASSIFYVEHICLEINSURANCEREQUEST_H_ +#define ALIBABACLOUD_OBJECTDET_MODEL_CLASSIFYVEHICLEINSURANCEREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Objectdet + { + namespace Model + { + class ALIBABACLOUD_OBJECTDET_EXPORT ClassifyVehicleInsuranceRequest : public RpcServiceRequest + { + + public: + ClassifyVehicleInsuranceRequest(); + ~ClassifyVehicleInsuranceRequest(); + + std::string getImageURL()const; + void setImageURL(const std::string& imageURL); + + private: + std::string imageURL_; + + }; + } + } +} +#endif // !ALIBABACLOUD_OBJECTDET_MODEL_CLASSIFYVEHICLEINSURANCEREQUEST_H_ \ No newline at end of file diff --git a/objectdet/include/alibabacloud/objectdet/model/ClassifyVehicleInsuranceResult.h b/objectdet/include/alibabacloud/objectdet/model/ClassifyVehicleInsuranceResult.h new file mode 100644 index 000000000..e81b15424 --- /dev/null +++ b/objectdet/include/alibabacloud/objectdet/model/ClassifyVehicleInsuranceResult.h @@ -0,0 +1,61 @@ +/* + * 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_OBJECTDET_MODEL_CLASSIFYVEHICLEINSURANCERESULT_H_ +#define ALIBABACLOUD_OBJECTDET_MODEL_CLASSIFYVEHICLEINSURANCERESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Objectdet + { + namespace Model + { + class ALIBABACLOUD_OBJECTDET_EXPORT ClassifyVehicleInsuranceResult : public ServiceResult + { + public: + struct Data + { + struct Label + { + float score; + std::string name; + }; + std::vector