Сравните два изображения с помощью ошибки AWS Rekognition - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь сравнить два изображения, которые есть в s3.Итак, я завершил код, ссылаясь на следующее: https://docs.aws.amazon.com/ko_kr/rekognition/latest/dg/faces-comparefaces.html

Я создал IdentityPool с ролью (S3 Full Access, Rekognition Full Access).

try{

            CompareFacesRequest compareFacesRequest = new CompareFacesRequest().
                    withSourceImage(new Image().withS3Object(new S3Object().withName(photo1).withBucket(bucket))).
                    withTargetImage(new Image().withS3Object(new S3Object().withName(photo2).withBucket(bucket))).withSimilarityThreshold(80F);

            CompareFacesResult result = amazonRekognitionClient.compareFaces(compareFacesRequest);
            List<CompareFacesMatch> list = result.getFaceMatches();

            Log.d(TAG,"testing..");

            if (!list.isEmpty()){

                Log.d(TAG,"face match");

                for (CompareFacesMatch match:list){
                    Log.d(TAG,match.getFace() + "" + match.getSimilarity());
                }

            }else{

                Log.d(TAG,"face dismatch");

            }

        }catch (Exception e){

            Log.d(TAG,"Exception occurs");
            e.printStackTrace();

        }

Но это делает этоошибка.com.amazonaws.services.rekognition.model.InvalidS3ObjectException: невозможно получить метаданные объекта из S3.Проверьте ключ объекта, регион и / или права доступа.(Сервис: AmazonRekognition; Код состояния: 400; Код ошибки: InvalidS3ObjectException; Идентификатор запроса: 2c4720e3-0e67-11e9-a286-7761b1c828e5)

Я подумал, что если я сделаю ошибку IAM, приложение не сможет загрузитьфайл.Я пытаюсь загрузить файл с теми же учетными даннымиProvider, загрузка успешна.

Я не думаю, что это произошло из-за разрешения.

Область S3 находится в Сеуле, а область Cognito IdentityPool - AP_NORTHEAST_2

Есть ли какая-либо информация для получения объекта s3 с помощью Rekognition?

1 Ответ

0 голосов
/ 05 января 2019

Я думаю, вы должны использовать операцию rekognitionClient.setRegion ().

Например: amazonrekognitionClient.setRegion (Region.getRegion (Regions.US_EAST_1));; 1003 *

Надеюсь, что это может помочь.

...