Я пытаюсь преобразовать и AWS Rekognition Image
в java BufferedImage
. Для этого мне нужен массив байтов из изображения AWS. Однако, когда я вызываю метод getBytes
, он возвращает null вместо возврата ByteBuffer
. Мой код выглядит следующим образом:
//Load an Rekognition Image object from S3
Image inputImage = new Image()
.withS3Object(new com.amazonaws.services.rekognition.model.S3Object().withName(key).withBucket(bucket));
DetectFacesRequest request = new DetectFacesRequest().withImage(inputImage).withAttributes(Attribute.ALL);
try {
DetectFacesResult result = amazonRekognition.detectFaces(request);
List<FaceDetail> faceDetails = result.getFaceDetails();
System.out.println("Number of faces: " + faceDetails.size());
int count = 1;
// I do get a number of FaceDetails back which proves that I am reading the image correctly from S3
for (FaceDetail faceDetail : faceDetails) {
BoundingBox faceBox = faceDetail.getBoundingBox();
try {
// Load image
ByteBuffer imageBytes=inputImage.getBytes();
if (imageBytes == null) {
System.out.println("Why is this null?");
return false;
}
...
Входное изображение имеет размер всего 80 КБ, не уверен, что размер имеет значение.
inputImage.getBytes()
? Разве вы не устанавливаете это в первой строке кода? На самом деле, что вы подразумеваете под AWS Rekognition Image? - person John Rotenstein   schedule 13.04.2018withS3Object
, но когда я вызываю методgetBytes
, я получаю null - person sttaq   schedule 17.04.2018