Чтение метаданных XMP файла JPGAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Чтение метаданных XMP файла JPG

Сообщение Anonymous »

Я разрабатываю приложение для Android, которое должно использовать новую функцию создания карты глубины Google Camera.

В основном Google описал метаданные, используемые здесь

Я могу получить доступ к большинству метаданных, но, к сожалению, наиболее важные данные закодированы как расширенный Xmp, и я не могу получить какую-либо библиотеку синтаксического анализа XMP для их правильного анализа!

Я пробовал Commons-Imaging, экстрактор метаданных и совсем недавно Adobes XMPCore.

XMPCore, возможно, сможет обрабатывать расширенную версию, но нет документации, как я могу заставить ее анализировать данные из файла JPG, предполагается, что будут переданы необработанные данные XMP.

Существует ли какая-либо правильная реализация анализа XMP, которая включает расширенные части файлов JPG, или я просто что-то делаю ошибаетесь?

Вот мои попытки:

С Commons-Imaging:

try {
String imageParser = new JpegImageParser().getXmpXml(new ByteSourceInputStream(imageStream, "img.jpg"), new HashMap());

Log.v(TAG, imageParser);

} catch (ImageReadException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}


С экстрактором метаданных

Metadata metadata = ImageMetadataReader.readMetadata(
new BufferedInputStream(imageStream), false);

XmpDirectory xmp = metadata
.getDirectory(XmpDirectory.class);
XMPMeta xmpMeta = xmp.getXMPMeta();

String uri = "http://ns.google.com/photos/1.0/depthmap/";

Log.v(TAG, xmpMeta.doesPropertyExist(uri, "GDepth:Format") + " " );

try {
XMPProperty hasExtendedXMP = xmpMeta.getProperty("http://ns.adobe.com/xmp/note/", "xmpNote:HasExtendedXMP");

Log.v(TAG, hasExtendedXMP.getValue().toString() + " " + new String(Base64.decode(hasExtendedXMP.getValue().toString(), Base64.DEFAULT)));

} catch (XMPException e) {
e.printStackTrace();
}


Подробнее здесь: https://stackoverflow.com/questions/232 ... p-metadata
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»