gpt4 book ai didi

java元数据提取器标签描述

转载 作者:太空宇宙 更新时间:2023-11-04 14:12:20 26 4
gpt4 key购买 nike

我正在使用 Java 库元数据提取器,无法提取标签使用下面的 getUserCommentDescription 方法代码正确描述,尽管 tag.getDescription 确实有效:

String exif = "File: " + file;
File jpgFile = new File(file);
Metadata metadata = ImageMetadataReader.readMetadata(jpgFile);

for (Directory directory : metadata.getDirectories()) {
String directoryName = directory.getName();
for (Tag tag : directory.getTags()) {
String tagName = tag.getTagName();
String description = tag.getDescription();
if (tagName.toLowerCase().contains("comment")) {
Log.d("DEBUG", description);
}
exif += "\n " + tagName + ": " + description; //Returns the correct values.
Log.d("DEBUG", directoryName + " " + tagName + " " + description);
}
if (directoryName.equals("Exif IFD0")) {
// create a descriptor
ExifSubIFDDirectory exifDirectory = metadata.getDirectory(ExifSubIFDDirectory.class);
ExifSubIFDDescriptor descriptor = new ExifSubIFDDescriptor(exifDirectory);
Log.d("DEBUG","Comments: " + descriptor.getUserCommentDescription()); //Always null.
}

我在这里遗漏了什么吗?

最佳答案

您正在检查目录名称 Exif IFD0,然后访问 ExifSubIFDDirectory

在循环外尝试此代码:

Metadata metadata = ImageMetadataReader.readMetadata(jpgFile);
ExifSubIFDDirectory exifDirectory = metadata.getDirectory(ExifSubIFDDirectory.class);
ExifSubIFDDescriptor descriptor = new ExifSubIFDDescriptor(exifDirectory);
String comment = descriptor.getUserCommentDescription();

如果返回null,那么它可能是 encoding issue or bug 。如果您运行此代码:

byte[] commentBytes =
exifDirectory.getByteArray(ExifSubIFDDirectory.TAG_USER_COMMENT);

数组中有字节吗?

如果是这样,请在issue tracker中打开一个问题并包含可用于重现问题的示例图像。您必须授权您提供的任何图像在公共(public)领域使用。

关于java元数据提取器标签描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28171689/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com