问题标签 [exiv2]

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 投票
0 回答
68 浏览

iptc - exiv2 无法读取或写入 DNG

我使用 Lightroom 将原始 Sony 文件 (.ARW) 转换为 .DNG 格式。

现在我想用 exiv2 向这个 .dng 文件的 IPTC 写入新的关键字。

命令 exiv2 -PI test5.dng 给了我错误信息:

“错误:包含 25665 个条目的目录 Sony2 被视为无效;未读取。”

我能做些什么?如果 exiv2 无法完成这项工作,还有其他软件可以工作吗?

0 投票
2 回答
93 浏览

iptc - exiv2 添加的关键字未找到

我使用 Lightroom 导出图像,其中包含 IPTC 元数据中的关键字。

然后我使用 exiv2 添加关键字。

然后我将我的图像上传到在线网站。该网站看到的是 Lightroom 添加的关键字,而不是 exiv2 添加的关键字。我可以在 windows 或 linux 文件资源管理器中看到 exiv2 添加的关键字,因此我知道它们已正确嵌入到图像中。

什么可能导致该网站对文件所做的更改“视而不见”?

0 投票
1 回答
771 浏览

c++ - CMake 如何找到已编译的包

首先,我正在使用 Centos 7 我正在尝试编译最新的暗表,并且我已经克服了一些问题,包括编译 gphoto2、exiv2 等。

但是现在当我尝试使用此处的基本说明构建暗表时: https ://github.com/darktable-org/darktable

mkdir build/ cd build/ cmake -DCMAKE_INSTALL_PREFIX=/opt/darktable/ .. make sudo make install

在尝试 cmake 几次时,我不得不解决一些依赖问题,但我坚持的问题是。

Centos7 自带 Exiv2 0.23 版本,Darktable 最低需要 0.24 版本

我用 dnf 删除了 exiv2 0.23,然后成功地将 exiv2 从源代码编译并安装到 0.26 版。

经过几次尝试后,我用--prefix=/usr配置了 exiv2,因为 darktable 说他找不到库。

现在我仍然有同样的问题,cmake 退出并出现以下错误:

CMake Error at cmake/modules/FindExiv2.cmake:46 (message): Exiv2 version check failed. Version was found, at least version 0.24 is required Call Stack (most recent call first): src/CMakeLists.txt:292 (find_package) -- Configuring incomplete, errors occurred! See also "/opt/darktable-2.4.1/build/CMakeFiles/CMakeOutput.log". See also "/opt/darktable-2.4.1/build/CMakeFiles/CMakeError.log".

我对 cmake 的了解几乎为零,但我看到 src/CMakeLists.txt 第 292 行搜索了一个不再存在的包,因为我已经用 dnf 删除了它。

# Require exiv2 >= 0.24 to make sure everything we need is available find_package(Exiv2 0.24 REQUIRED) include_directories(SYSTEM ${Exiv2_INCLUDE_DIRS}) list(APPEND LIBS ${Exiv2_LIBRARIES}) add_definitions(${Exiv2_DEFINITIONS})

但是如何让 cmake 查找我已经构建和安装的 exiv2?并找到它需要的所有库?

找到解决方案!

我意识到在 /usr/lib64/pkgconfig /usr/local/lib/pkgconfig 和其他一些文件下有很多*.pc文件。

在我编译和安装 Exiv2 之后,它把这个exiv2.pc放在 /usr/lib/pkgconfig/ 下。这是那里唯一的文件。

所以我在 /usr/lib64/pkgconfig 中创建了一个指向 exiv2.pc 文件的软链接,它完成了这项工作,只是弹出了另一个问题列表。

0 投票
0 回答
746 浏览

python - 在 Windows 上使用 pip 安装 py3exiv2

我为 Python3 尝试了一些 exif/iptc/xmp 库,但它们既不成熟也不成熟。

  • exifread 只能读取exif信息
  • iptcinfo3 未正确移植到 Python3

因此,我尝试在 Windows 7/10 上使用py3exiv2 。

但是,我既没有找到py3exiv2的Windows 轮pip install py3exiv2,也没有在 Windows 上开箱即用。似乎有 C++ 绑定,必须在 pip 安装期间进行编译。

我安装了Microsoft Visual C++ 14.0 standalone: Build Tools for Visual Studio 2017
,但仍然因缺少文件而pip install py3exiv2失败。 我假设,缺少更多依赖项......但我不知道如何将它添加到 pip 安装或手动修复它。exiv2/image.hpp

所以我想问一下,如果你能给我一些提示,如何在 Windows 上正确设置和安装 py3exiv2?

0 投票
1 回答
77 浏览

bash - 输出 exiv2 的特定行?

使用exiv2,可以在终端输出图像信息。但是,它会输出几行信息:

输出如下内容:

如何命令终端仅输出图像大小数据?

我真正想要的是:

输出:

0 投票
2 回答
356 浏览

bash - 如何访问 exiv2 ImageSize 属性?

我从搅拌机创建图像,它们缺少我使用 bash 命令添加的 Exif 元数据exiv2。(因为传递这些图像的软件将使用元数据。)

例如,我可以使用将图像宽度设置为 960 exiv2 -M"set Exif.Image.ImageWidth 960" image.jpg,然后使用exiv2 -g Exif.Image.ImageWidth -Pv image.jpg.

为了快速总结,我可以exiv2 image.jpg获取一组 Exif 元数据的列表。这包括

我如何使用它Image size来设置Exif.Image.ImageWidthExif.Image.ImageLength在 bash 中?

标准的Exif 标签不会列出ImageSize.

0 投票
1 回答
478 浏览

python - 在 macOS 问题上安装 py3exiv2

我想校准相机镜头,为此,我按照此处的说明进行操作。根据说明,我需要来自此处的 python3-exiv2 依赖项。

当我尝试运行它时:

我明白了:

我不知道从哪里开始这个输出。谁能建议我此时可以尝试什么?

运行以下内容没有帮助:

0 投票
1 回答
140 浏览

metadata - exiv2 UserComment 元标记

以下设置注释字符串的语句有什么区别

我可以访问它们

添加不超过十几个字符的简单 ASCII 字符的正确方法是什么。

0 投票
0 回答
407 浏览

c++ - 如何将 zlib 添加为外部项目作为 CMake 中另一个外部项目的依赖项?

我有一个项目,我在其中编写了一个使用exiv2库的库。exiv2本身需要zlib。如果我不zlib作为外部项目导入,我会通过安装包zlib1g-dev(在 Ubuntu 上)让它工作,因为那样find_package( ZLIB REQUIRED )fromexiv2会找到它。

由于交叉编译的原因,我不能使用来自zlib1g-dev. 这就是为什么我想将zlib源添加为外部项目和exiv2(也是外部项目)的依赖项。这是我走了多远:

CMakeLists.txt我的图书馆:

在哪里CMakeLists.in.zlib

并且CMakeLists.in.exiv2

但是使用这些 CMake 文件会返回错误:

那么,我怎样才能zlib提供给exiv2?

0 投票
2 回答
112 浏览

linux - Exiv2 与 makefile

我需要使用 Makefile 在我的项目中包含我的 Exiv2 扩展。我成功地通过终端直接运行它:

我原来的 Makefile(它有效)重要部分:

现在我必须运行一个使用带有 Makefile 的 Exiv2 的程序。现在我正在尝试自定义 Makefile,尝试过

不起作用,make的输出是:

这意味着它没有找到Exiv2方法,如何自定义我的Makefile?