问题标签 [metadata-extractor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
396 浏览

c# - 元数据提取器库路径访问被拒绝

我发现这个 .net 库可以从图像中提取元数据,他们给出的示例如下,但是我输入的任何路径都只是给出了对路径的路径访问被拒绝错误。我以管理员身份运行 Visual Studio,所以这不应该是问题

0 投票
1 回答
1011 浏览

java - 无法从 Base64 转换的 JPEG 图像中读取 Exif 数据

我目前正在围绕元数据提取器库开发一个小型包装器,以便能够从 ColdFusion 代码访问 JPEG 上的一些元数据属性。JPEG 数据作为 base64 字符串从 REST 端点进入 ColdFusion。我想将该字符串转换为字节数组并从 JPEG 中读取 Exif 元数据,将原始创建日期作为字符串返回给 ColdFusion。但是,我无法从转换后的字节数组中读取 Exif 块。

我尝试使用 java.utils.Base64 和 javax.xml.bind.DatatypeConverter 进行 base64 转换,但在这两种情况下元数据提取器都找不到 Exif 数据。我在十六进制编辑器中打开了原始源图像,并且存在 Exif 数据。我还尝试在原始图像文件上使用元数据提取器,效果很好,当我打印出目录和标签时,Exif 标头出现了。

这是我用来读取元数据的类的构造函数:

我也徒劳地尝试直接使用 ExifReader,但得到了异常,英特尔和摩托罗拉字节顺序之间的区别不清楚。

当我针对原始图像运行代码时,我得到了所有文件头、Exif 数据和所有其他实际存在于 JPEG 数据中的标签。当我按照构造函数中所示的 base64 字符串运行它时,我得到了一些 JPEG 目录、一些 JFIF 目录和一个 Huffman 表目录,仅此而已。

我怀疑在转换过程中的某个地方,考虑到我上面得到的异常,字节顺序被搞砸了,但我不确定该怎么做才能解决它。我能想出的唯一解决方案是将 JPEG 数据写入一个临时文件,然后再将其读回,但如果有更好的可行解决方案,我宁愿不这样做。

0 投票
1 回答
579 浏览

java - 如何从 Canon RAW 文件 (.crw) 中提取创建日期等信息

我正在尝试使用 Drew Noates 的元数据提取器(https://drewnoakes.com/code/exif/)自动化图像处理。根据他的文档,它可以处理佳能的 RAW 文件格式。但是,我还没有找到一种方法来提取诸如创建日期之类的信息。

我编写了一个小实用程序来转储库返回的所有目录和标签。以下是该实用程序的相关部分:

如果我对我的 .crw 文件运行上述代码,我会得到以下输出:

但是,我在任何地方都看不到照片的实际拍摄日期(“文件修改日期”来自文件系统,因此它可能与拍摄照片的日期匹配,也可能不匹配)。我相信 CRW 中嵌入了一个小的 JPEG 缩略图,其中包含所有正确的 EXIF 信息。我曾经调用我写入的批处理文件:
a)提取该缩略图 JPEG
b)然后从该缩略图 JPEG 中提取日期

因此,作为替代解决方案,我希望使用元数据提取器来获取该缩略图 JPEG,然后使用元数据提取器从该缩略图 JPEG 中获取日期。但是,正如您从上面的输出中看到的那样,元数据提取器也无法访问缩略图 JPEG。

到目前为止,我还没有找到解释如何执行此操作的方法或文档或代码示例。

0 投票
1 回答
192 浏览

java - Getting FileNotFoundException (Permission denied) when trying to read metadata from a picture

I am accessing pictures of the device's gallery via my app, when the picture is accessed the metadata of the picture will be read and stored in metadata. The problem I'm facing is that whenever the program tries to read the metadata I'm getting the following error java.io.FileNotFoundException: /storage/emulated/0/Snapchat/Snapchat-1185425082.jpg (Permission denied).

0 投票
1 回答
244 浏览

metadata-extractor - 在元数据提取器中检测不正确的 makernote 偏移

EXIFTool 可以检测标签的偏移量是否不正确

[ExifTool] 警告:[次要] 可能不正确的制造商注释偏移量(修复 1060?)

请参阅常见问题解答。我们能否使用元数据提取器检测不正确的偏移量并以相同的方式理想地修复它们?

0 投票
1 回答
957 浏览

java - ImageMetadataReader.readMetadata(file) 缺少数据

我有一个包含多个图像的单个 tiff 文件。我想提取每个图像的图像描述值。我不知道为什么,但是当我使用 时ImageMetaDataReader,它只返回第一个和最后一个图像描述。我已经使用 exiftool 验证了数据是否存在并转储到 xml 树。任何建议为什么这不起作用?

使用元数据提取器的所有标签

0 投票
1 回答
218 浏览

java - 在哪里可以找到提取特定 exif 的元数据类型列表

我正在做一个项目,我需要从图像制作 pdf 并将其合并。为此,我使用 PDFBox,但有时我需要读取图像的 exif,例如方向和分辨率,因此我使用元数据提取器。我没有找到任何有用的文档或示例。

我发现我可以阅读具体的 exif,但我不知道具体如何

0 投票
1 回答
463 浏览

java - 如何通过读取文件修复索引越界异常(元数据提取器)

我做了一个小程序,它应该从特定目录的文件中读取元数据。元数据在标签中打印出来。我在下面复制了我的代码。'System.out.println(Arrays.toString(sourceFiles));' 归还文件夹中的所有 10 个文件。但是'System.out.println(x);' 只返回 3 个文件,然后给出索引 3 出站错误。如何修复我的代码,使其能够读取所有 10 个文件?有人可以帮我解决这个问题吗?(如果我取消注释代码中的标记部分,它将给出相同 3 个文件的元数据)。哦,我是 java 新手,请给我尽可能多的信息。

我正在使用元数据提取器。

谢谢!

0 投票
2 回答
282 浏览

java - 元数据提取器的安装

我卡在安装上。我下载了 Maven,但我不确定元数据提取器文件夹(我从 repo 下载的)中的哪个文件用作目标。

我尝试了顶层的所有文件。所有尝试都失败了,例如

java -jar metadata-extractor-2.13.0.jar build.gradle

com.drew.imaging.ImageProcessingException:无法确定文件格式

我正在使用元数据提取器的 v2.13.0

0 投票
1 回答
692 浏览

java - 如何从不同的时区获取原始日期时间

我正在使用 Drew 的元数据提取器库来重命名我的照片和视频。

这太棒了,但是当我在另一个时区而不是在拍摄视频时,我在重命名时遇到了一个主要问题,例如视频。

例如,我的视频是在阿根廷拍摄的,日期时间为“Fri Mar 27 11:43:25 ART 2020”。

当我想在欧洲处理我的文件时,我可以在元数据中找到的所有日期都已适应 CET ,即“Fri Mar 27 15:43:25 CET 2020”。

因此,我不能使用这些日期时间来重命名我的文件,因为这会导致名称不正确。我不能手动更改我正在处理的每个目录的时区,因为它可以自动执行所有操作。

有没有办法从我的文件中获取原始日期时间/时区?(mp4、jpg、...所有类型的图像/视频)。

非常感谢。

坦率