文档 AWS SDK 示例 GitHub 存储库中还有更多 S AWS DK 示例
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用适用于 SAP 的软件开发工具包的亚马逊 Rekognition 示例 ABAP
以下代码示例向您展示了如何使用适用于 SAP ABAP 的 AWS 软件开发工具包和 Amazon Rekognition 来执行操作和实现常见场景。
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示了如何使用 CompareFaces。
有关更多信息,请参阅比较图像中的人脸。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. " Create S3 object reference for the source image DATA(lo_source_s3obj) = NEW /aws1/cl_reks3object( iv_bucket = iv_source_s3_bucket iv_name = iv_source_s3_key ). " Create source image object DATA(lo_source_image) = NEW /aws1/cl_rekimage( io_s3object = lo_source_s3obj ). " Create S3 object reference for the target image DATA(lo_target_s3obj) = NEW /aws1/cl_reks3object( iv_bucket = iv_target_s3_bucket iv_name = iv_target_s3_key ). " Create target image object DATA(lo_target_image) = NEW /aws1/cl_rekimage( io_s3object = lo_target_s3obj ). " Compare faces oo_result = lo_rek->comparefaces( io_sourceimage = lo_source_image io_targetimage = lo_target_image iv_similaritythreshold = iv_similarity ). DATA(lt_face_matches) = oo_result->get_facematches( ). DATA(lt_unmatched_faces) = oo_result->get_unmatchedfaces( ). " Get counts of matched and unmatched faces DATA(lv_matched_count) = lines( lt_face_matches ). DATA(lv_unmatched_count) = lines( lt_unmatched_faces ). " Output detailed comparison results DATA(lv_message) = |Face comparison completed: | && |{ lv_matched_count } matched face(s), | && |{ lv_unmatched_count } unmatched face(s).|. MESSAGE lv_message TYPE 'I'. CATCH /aws1/cx_rekinvalids3objectex. MESSAGE 'Invalid S3 object.' TYPE 'E'. CATCH /aws1/cx_rekinvalidparameterex. MESSAGE 'Invalid parameter value.' TYPE 'E'. ENDTRY.-
有关 API 的详细信息,请参阅适用CompareFaces于 S AP 的AWS SDK ABAP API 参考。
-
以下代码示例演示了如何使用 CreateCollection。
有关更多信息,请参阅创建集合。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. oo_result = lo_rek->createcollection( iv_collectionid = iv_collection_id ). MESSAGE 'Collection created successfully.' TYPE 'I'. CATCH /aws1/cx_rekresrcalrdyexistsex. MESSAGE 'Collection already exists.' TYPE 'E'. CATCH /aws1/cx_rekinvalidparameterex. MESSAGE 'Invalid parameter value.' TYPE 'E'. ENDTRY.-
有关 API 的详细信息,请参阅适用CreateCollection于 S AP 的AWS SDK ABAP API 参考。
-
以下代码示例演示了如何使用 DeleteCollection。
有关更多信息,请参阅删除集合。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. lo_rek->deletecollection( iv_collectionid = iv_collection_id ). MESSAGE 'Collection deleted successfully.' TYPE 'I'. CATCH /aws1/cx_rekresourcenotfoundex. MESSAGE 'Collection not found.' TYPE 'E'. CATCH /aws1/cx_rekinvalidparameterex. MESSAGE 'Invalid parameter value.' TYPE 'E'. ENDTRY.-
有关 API 的详细信息,请参阅适用DeleteCollection于 S AP 的AWS SDK ABAP API 参考。
-
以下代码示例演示了如何使用 DeleteFaces。
有关更多信息,请参阅从集中删除人脸。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. oo_result = lo_rek->deletefaces( iv_collectionid = iv_collection_id it_faceids = it_face_ids ). DATA(lt_deleted_faces) = oo_result->get_deletedfaces( ). DATA(lv_deleted_count) = lines( lt_deleted_faces ). DATA(lv_msg6) = |{ lv_deleted_count } face(s) deleted successfully.|. MESSAGE lv_msg6 TYPE 'I'. CATCH /aws1/cx_rekresourcenotfoundex. MESSAGE 'Collection not found.' TYPE 'E'. CATCH /aws1/cx_rekinvalidparameterex. MESSAGE 'Invalid parameter value.' TYPE 'E'. ENDTRY.-
有关 API 的详细信息,请参阅适用DeleteFaces于 S AP 的AWS SDK ABAP API 参考。
-
以下代码示例演示了如何使用 DescribeCollection。
有关更多信息,请参阅描述集合。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. oo_result = lo_rek->describecollection( iv_collectionid = iv_collection_id ). DATA(lv_face_count) = oo_result->get_facecount( ). DATA(lv_msg) = |Collection described: { lv_face_count } face(s) indexed.|. MESSAGE lv_msg TYPE 'I'. CATCH /aws1/cx_rekresourcenotfoundex. MESSAGE 'Collection not found.' TYPE 'E'. CATCH /aws1/cx_rekinvalidparameterex. MESSAGE 'Invalid parameter value.' TYPE 'E'. ENDTRY.-
有关 API 的详细信息,请参阅适用DescribeCollection于 S AP 的AWS SDK ABAP API 参考。
-
以下代码示例演示了如何使用 DetectFaces。
有关更多信息,请参阅检测图像中的人脸。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. " Create S3 object reference for the image DATA(lo_s3object) = NEW /aws1/cl_reks3object( iv_bucket = iv_s3_bucket iv_name = iv_s3_key ). " Create image object DATA(lo_image) = NEW /aws1/cl_rekimage( io_s3object = lo_s3object ). " Detect faces in the image with all attributes DATA(lt_attributes) = VALUE /aws1/cl_rekattributes_w=>tt_attributes( ). DATA(lo_attr_wrapper) = NEW /aws1/cl_rekattributes_w( iv_value = 'ALL' ). INSERT lo_attr_wrapper INTO TABLE lt_attributes. oo_result = lo_rek->detectfaces( io_image = lo_image it_attributes = lt_attributes ). DATA(lt_face_details) = oo_result->get_facedetails( ). DATA(lv_detected_count) = lines( lt_face_details ). DATA(lv_msg8) = |{ lv_detected_count } face(s) detected in image.|. MESSAGE lv_msg8 TYPE 'I'. CATCH /aws1/cx_rekinvalids3objectex. MESSAGE 'Invalid S3 object.' TYPE 'E'. CATCH /aws1/cx_rekinvalidparameterex. MESSAGE 'Invalid parameter value.' TYPE 'E'. ENDTRY.-
有关 API 的详细信息,请参阅适用DetectFaces于 S AP 的AWS SDK ABAP API 参考。
-
以下代码示例演示了如何使用 DetectLabels。
有关更多信息,请参阅检测图像中的标签。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. " Create S3 object reference for the image DATA(lo_s3object) = NEW /aws1/cl_reks3object( iv_bucket = iv_s3_bucket iv_name = iv_s3_key ). " Create image object DATA(lo_image) = NEW /aws1/cl_rekimage( io_s3object = lo_s3object ). " Detect labels in the image oo_result = lo_rek->detectlabels( io_image = lo_image iv_maxlabels = iv_max_labels ). DATA(lt_labels) = oo_result->get_labels( ). DATA(lv_label_count) = lines( lt_labels ). DATA(lv_msg9) = |{ lv_label_count } label(s) detected in image.|. MESSAGE lv_msg9 TYPE 'I'. CATCH /aws1/cx_rekinvalids3objectex. MESSAGE 'Invalid S3 object.' TYPE 'E'. CATCH /aws1/cx_rekinvalidparameterex. MESSAGE 'Invalid parameter value.' TYPE 'E'. ENDTRY.-
有关 API 的详细信息,请参阅适用DetectLabels于 S AP 的AWS SDK ABAP API 参考。
-
以下代码示例演示了如何使用 DetectModerationLabels。
有关更多信息,请参阅检测不适宜的图像。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. " Create S3 object reference for the image DATA(lo_s3object) = NEW /aws1/cl_reks3object( iv_bucket = iv_s3_bucket iv_name = iv_s3_key ). " Create image object DATA(lo_image) = NEW /aws1/cl_rekimage( io_s3object = lo_s3object ). " Detect moderation labels oo_result = lo_rek->detectmoderationlabels( io_image = lo_image ). DATA(lt_moderation_labels) = oo_result->get_moderationlabels( ). DATA(lv_mod_count) = lines( lt_moderation_labels ). DATA(lv_msg10) = |{ lv_mod_count } moderation label(s) detected.|. MESSAGE lv_msg10 TYPE 'I'. CATCH /aws1/cx_rekinvalids3objectex. MESSAGE 'Invalid S3 object.' TYPE 'E'. CATCH /aws1/cx_rekinvalidparameterex. MESSAGE 'Invalid parameter value.' TYPE 'E'. ENDTRY.-
有关 API 的详细信息,请参阅适用DetectModerationLabels于 S AP 的AWS SDK ABAP API 参考。
-
以下代码示例演示了如何使用 DetectText。
有关更多信息,请参阅检测图像中的文本。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. " Create S3 object reference for the image DATA(lo_s3object) = NEW /aws1/cl_reks3object( iv_bucket = iv_s3_bucket iv_name = iv_s3_key ). " Create image object DATA(lo_image) = NEW /aws1/cl_rekimage( io_s3object = lo_s3object ). " Detect text in the image oo_result = lo_rek->detecttext( io_image = lo_image ). DATA(lt_text_detections) = oo_result->get_textdetections( ). DATA(lv_text_count) = lines( lt_text_detections ). DATA(lv_msg11) = |{ lv_text_count } text detection(s) found.|. MESSAGE lv_msg11 TYPE 'I'. CATCH /aws1/cx_rekinvalids3objectex. MESSAGE 'Invalid S3 object.' TYPE 'E'. CATCH /aws1/cx_rekinvalidparameterex. MESSAGE 'Invalid parameter value.' TYPE 'E'. ENDTRY.-
有关 API 的详细信息,请参阅适用DetectText于 S AP 的AWS SDK ABAP API 参考。
-
以下代码示例演示了如何使用 IndexFaces。
有关更多信息,请参阅将人脸添加到集合中。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. " Create S3 object reference for the image DATA(lo_s3object) = NEW /aws1/cl_reks3object( iv_bucket = iv_s3_bucket iv_name = iv_s3_key ). " Create image object DATA(lo_image) = NEW /aws1/cl_rekimage( io_s3object = lo_s3object ). " Index faces in the image oo_result = lo_rek->indexfaces( iv_collectionid = iv_collection_id io_image = lo_image iv_externalimageid = iv_external_id iv_maxfaces = iv_max_faces ). DATA(lt_face_records) = oo_result->get_facerecords( ). DATA(lv_indexed_count) = lines( lt_face_records ). DATA(lv_msg2) = |{ lv_indexed_count } face(s) indexed successfully.|. MESSAGE lv_msg2 TYPE 'I'. CATCH /aws1/cx_rekresourcenotfoundex. MESSAGE 'Collection not found.' TYPE 'E'. CATCH /aws1/cx_rekinvalids3objectex. MESSAGE 'Invalid S3 object.' TYPE 'E'. CATCH /aws1/cx_rekinvalidparameterex. MESSAGE 'Invalid parameter value.' TYPE 'E'. ENDTRY.-
有关 API 的详细信息,请参阅适用IndexFaces于 S AP 的AWS SDK ABAP API 参考。
-
以下代码示例演示了如何使用 ListCollections。
有关更多信息,请参阅列出集合。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. oo_result = lo_rek->listcollections( iv_maxresults = iv_max_results ). DATA(lt_collection_ids) = oo_result->get_collectionids( ). DATA(lv_coll_count) = lines( lt_collection_ids ). DATA(lv_msg7) = |{ lv_coll_count } collection(s) found.|. MESSAGE lv_msg7 TYPE 'I'. CATCH /aws1/cx_rekinvalidparameterex. MESSAGE 'Invalid parameter value.' TYPE 'E'. ENDTRY.-
有关 API 的详细信息,请参阅适用ListCollections于 S AP 的AWS SDK ABAP API 参考。
-
以下代码示例演示了如何使用 ListFaces。
有关更多信息,请参阅列出集合中的人脸。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. oo_result = lo_rek->listfaces( iv_collectionid = iv_collection_id iv_maxresults = iv_max_results ). DATA(lt_faces) = oo_result->get_faces( ). DATA(lv_face_count2) = lines( lt_faces ). DATA(lv_msg3) = |{ lv_face_count2 } face(s) found in collection.|. MESSAGE lv_msg3 TYPE 'I'. CATCH /aws1/cx_rekresourcenotfoundex. MESSAGE 'Collection not found.' TYPE 'E'. CATCH /aws1/cx_rekinvalidparameterex. MESSAGE 'Invalid parameter value.' TYPE 'E'. ENDTRY.-
有关 API 的详细信息,请参阅适用ListFaces于 S AP 的AWS SDK ABAP API 参考。
-
以下代码示例演示了如何使用 RecognizeCelebrities。
有关更多信息,请参阅识别图像中的名人。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. " Create S3 object reference for the image DATA(lo_s3object) = NEW /aws1/cl_reks3object( iv_bucket = iv_s3_bucket iv_name = iv_s3_key ). " Create image object DATA(lo_image) = NEW /aws1/cl_rekimage( io_s3object = lo_s3object ). " Recognize celebrities oo_result = lo_rek->recognizecelebrities( io_image = lo_image ). DATA(lt_celebrity_faces) = oo_result->get_celebrityfaces( ). DATA(lv_celeb_count) = lines( lt_celebrity_faces ). DATA(lv_msg12) = |{ lv_celeb_count } celebrity/celebrities recognized.|. MESSAGE lv_msg12 TYPE 'I'. CATCH /aws1/cx_rekinvalids3objectex. MESSAGE 'Invalid S3 object.' TYPE 'E'. CATCH /aws1/cx_rekinvalidparameterex. MESSAGE 'Invalid parameter value.' TYPE 'E'. ENDTRY.-
有关 API 的详细信息,请参阅适用RecognizeCelebrities于 S AP 的AWS SDK ABAP API 参考。
-
以下代码示例演示了如何使用 SearchFaces。
有关更多信息,请参阅搜索人脸(面容 ID)。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. oo_result = lo_rek->searchfaces( iv_collectionid = iv_collection_id iv_faceid = iv_face_id iv_facematchthreshold = iv_threshold iv_maxfaces = iv_max_faces ). DATA(lt_face_matches) = oo_result->get_facematches( ). DATA(lv_match_count2) = lines( lt_face_matches ). DATA(lv_msg5) = |Face search completed: { lv_match_count2 } match(es) found.|. MESSAGE lv_msg5 TYPE 'I'. CATCH /aws1/cx_rekresourcenotfoundex. MESSAGE 'Collection or face not found.' TYPE 'E'. CATCH /aws1/cx_rekinvalidparameterex. MESSAGE 'Invalid parameter value.' TYPE 'E'. ENDTRY.-
有关 API 的详细信息,请参阅适用SearchFaces于 S AP 的AWS SDK ABAP API 参考。
-
以下代码示例演示了如何使用 SearchFacesByImage。
有关更多信息,请参阅搜索人脸(图像)。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. " Create S3 object reference for the image DATA(lo_s3object) = NEW /aws1/cl_reks3object( iv_bucket = iv_s3_bucket iv_name = iv_s3_key ). " Create image object DATA(lo_image) = NEW /aws1/cl_rekimage( io_s3object = lo_s3object ). " Search for matching faces oo_result = lo_rek->searchfacesbyimage( iv_collectionid = iv_collection_id io_image = lo_image iv_facematchthreshold = iv_threshold iv_maxfaces = iv_max_faces ). DATA(lt_face_matches) = oo_result->get_facematches( ). DATA(lv_match_count) = lines( lt_face_matches ). DATA(lv_msg4) = |Face search completed: { lv_match_count } match(es) found.|. MESSAGE lv_msg4 TYPE 'I'. CATCH /aws1/cx_rekresourcenotfoundex. MESSAGE 'Collection not found.' TYPE 'E'. CATCH /aws1/cx_rekinvalids3objectex. MESSAGE 'Invalid S3 object.' TYPE 'E'. CATCH /aws1/cx_rekinvalidparameterex. MESSAGE 'Invalid parameter value.' TYPE 'E'. ENDTRY.-
有关 API 的详细信息,请参阅适用SearchFacesByImage于 S AP 的AWS SDK ABAP API 参考。
-