问题标签 [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.
iptc - exiv2 无法读取或写入 DNG
我使用 Lightroom 将原始 Sony 文件 (.ARW) 转换为 .DNG 格式。
现在我想用 exiv2 向这个 .dng 文件的 IPTC 写入新的关键字。
命令 exiv2 -PI test5.dng 给了我错误信息:
“错误:包含 25665 个条目的目录 Sony2 被视为无效;未读取。”
我能做些什么?如果 exiv2 无法完成这项工作,还有其他软件可以工作吗?
iptc - exiv2 添加的关键字未找到
我使用 Lightroom 导出图像,其中包含 IPTC 元数据中的关键字。
然后我使用 exiv2 添加关键字。
然后我将我的图像上传到在线网站。该网站看到的是 Lightroom 添加的关键字,而不是 exiv2 添加的关键字。我可以在 windows 或 linux 文件资源管理器中看到 exiv2 添加的关键字,因此我知道它们已正确嵌入到图像中。
什么可能导致该网站对文件所做的更改“视而不见”?
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 文件的软链接,它完成了这项工作,只是弹出了另一个问题列表。
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?
bash - 输出 exiv2 的特定行?
使用exiv2,可以在终端输出图像信息。但是,它会输出几行信息:
输出如下内容:
如何命令终端仅输出图像大小数据?
我真正想要的是:
输出:
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.ImageWidth
和Exif.Image.ImageLength
在 bash 中?
标准的Exif 标签不会列出ImageSize
.
python - 在 macOS 问题上安装 py3exiv2
我想校准相机镜头,为此,我按照此处的说明进行操作。根据说明,我需要来自此处的 python3-exiv2 依赖项。
当我尝试运行它时:
我明白了:
我不知道从哪里开始这个输出。谁能建议我此时可以尝试什么?
运行以下内容没有帮助:
metadata - exiv2 UserComment 元标记
以下设置注释字符串的语句有什么区别
我可以访问它们
添加不超过十几个字符的简单 ASCII 字符的正确方法是什么。
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
?
linux - Exiv2 与 makefile
我需要使用 Makefile 在我的项目中包含我的 Exiv2 扩展。我成功地通过终端直接运行它:
我原来的 Makefile(它有效)重要部分:
现在我必须运行一个使用带有 Makefile 的 Exiv2 的程序。现在我正在尝试自定义 Makefile,尝试过
不起作用,make的输出是:
这意味着它没有找到Exiv2方法,如何自定义我的Makefile?