Я играю с реляцией Амазонки. Я нашел действительно nice/easy library взять изображение с веб-камеры, которая работает так:Convert BufferedImage to aws ... rekognition.model.Image
BufferedImage bufImg = webcam.getImage();
Я тогда пытался превратить эту BufferedImage
в com.amazonaws.services.rekognition.model.Image
, которая является то, что должно быть передано в библиотеку Rekognition. Это то, что я делаю:
byte[] imgBytes = ((DataBufferByte) bufImg.getData().getDataBuffer()).getData();
ByteBuffer byteBuffer = ByteBuffer.wrap(imgBytes);
return new Image().withBytes(byteBuffer);
Однако, когда я пытаюсь сделать некоторый API вызов Rekognition с Image
, я получаю исключение:
com.amazonaws.services.rekognition.model.InvalidImageFormatException: Invalid image encoding (Service: AmazonRekognition; Status Code: 400; Error Code: InvalidImageFormatException; Request ID: X)
В docs состоянии, что Java SDK будет автоматически base64 кодирует байты. В случае, если что-то странное происходит, я попытался кодирование base64 байт перед преобразованием:
imgBytes = Base64.getEncoder().encode(imgBytes);
Однако то же исключение следует.
Любые идеи? :)