问题标签 [openexr]
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.
c++ - 加载 OpenEXR 单通道深度图图像
我正在尝试使用一个通道加载 OpenEXR 格式的深度图像,但是,根据此文档,我无法确定需要使用的格式:http ://www.openexr.com/documentation/ReadingAndWritingImageFiles.pdf
编辑:我设法读取了文件,但是当我尝试检查这些值时,它们被四舍五入到最接近的整数,但我不明白为什么会这样。
EDIT2:exr 文件可以从这里访问:https ://drive.google.com/file/d/1q_AmJgzJjs3bOCCpmcC-X-iAH88PY9dG/view?usp=sharing
ios - iOS 金属。如何对所有色彩作品使用“半”格式?
an 的默认颜色格式MTKView
是bgra8Unorm
. 我更喜欢使用这种half
格式(参见:OpenEXR)。我不清楚 Metal 提供的各种格式中的哪一种对应half
?
imagemagick - 无法使用带有 openEXR 的 ImageMagick 更改 EXR 文件的通道深度
我想将 16 位 (HALF) exr 图像转换为 32 位 exr 图像。我正在尝试使用使用 openEXR 构建的 ImageMagick 来做到这一点,但我无法做到这一点。
我有 Build ImageMagick-7.0.8-23-Q8-windows-x64-static 并启用了 HDRI 标志。我正在使用 16 位 RGBA EXR 文件。当我运行以下命令时:
识别 -verbose "Desk.exr"
它将通道深度设为 8 位。
格式:EXR(高动态范围 (HDR))
类别:DirectClass
几何:644x874+0+0
单位:未定义
色彩空间:RGB
类型:TrueColorAlpha
基本类型:未定义字节序:
未定义
深度:8 位
通道深度:
红色:8-位
绿色:8 位
蓝色:8 位
Alpha:1 位
我试图通过指定 -depth 16 和 32 使用转换工具来更改它,但它仍将通道深度显示为 8 位。
int main() {
}
我检查了输出文件的通道深度,我设置了 32 位,但它也显示:
深度:8 位
通道深度:
红色:8 位
绿色:8 位
蓝色:8 位
Alpha:1 位
我已经用 Quantum 8 位构建了 imagemagick,我希望它应该适用于 16 位和 32 位。
windows - 为 windows 编译 openexr 时出现 Visual Studio 和 cmake 错误
抱歉,因为我对此很陌生且缺乏经验,但我正在尝试在 Windows 上编译 OpenExr-2.3.0(从http://www.openexr.com/downloads.html下载并提取到“exr_2_3_0”目录)使用 cmake 和 Visual Studio 15。在详细介绍之前,我将概述我遇到的基本问题:
- ilmbase 构建应该做的不仅仅是在相关的包含目录中创建一些头文件吗?(我知道 2.2.0 构建确实如此,我觉得这是缺少的)。
- 我对如何告诉 openexr 构建这些头文件在哪里感到困惑。它似乎永远无法找到它们,所以我很确定我要么将它们构建到错误的位置,要么错过了一步。
自述文件建议以下内容:
启动命令窗口,使用 CMakeLists.txt 导航到 IlmBase 文件夹,然后键入命令: setlocal del /f CMakeCache.txt cmake -DCMAKE_INSTALL_PREFIX= -G "Visual Studio 10 Win64" ..\ilmbase
在 Windows 资源管理器中导航到 IlmBase 文件夹,打开 ILMBase.sln 并构建解决方案。构建成功后,右键单击安装项目并构建。它会将输出安装到您在上一步中设置的路径。
访问http://www.zlib.net并下载 zlib
启动命令窗口,使用 CMakeLists.txt 导航到 OpenEXR 文件夹,然后键入命令: setlocal del /f CMakeCache.txt cmake -DZLIB_ROOT= -DILMBASE_PACKAGE_PREFIX= -DCMAKE_INSTALL_PREFIX= -G "Visual Studio 10 Win64" ^ ..\openexr
在 Windows 资源管理器中导航到 OpenEXR 文件夹,打开 OpenEXR.sln 并构建解决方案。构建成功后,右键单击安装项目并构建。它会将输出安装到您在上一步中设置的路径。
所以我在源目录和我运行的源目录中创建了一个部署文件夹:
这会在 ilmbase 文件夹中构建一个 sln 文件,该文件构建时没有错误,但该解决方案中的安装项目只会在“source/deploy/include/OpenEXR”文件夹中创建一堆头文件。同样,这是它应该做的全部,还是应该有一个 lib 目录,其中包含在此阶段构建的 dll 文件等?
我已经成功构建了 zlib,没有任何错误,但是当我尝试第 4 点时,我遇到了以下错误:
IlmImfExamples/CMakeLists.txt:3 (ADD_EXECUTABLE) 目标“IlmImfExamples”链接到目标“IlmBase::IlmThread”的 CMake 错误,但未找到目标。也许 IMPORTED 目标缺少 find_package() 调用或缺少 ALIAS?
我猜我应该添加从 cmake 到新文件的路径?即使我打开生成的 openexr.sln 并尝试构建,IlmImfExamples 也无法构建。如果我手动添加它抱怨它仍然无法构建的头文件,抱怨它找不到 OpenEXR::IlmImf.lib 没有构建它是正确的,但我不知道为什么,或者在至少我找不到它,如果它有。
我确实在 github 上看到了这个线程: https ://github.com/openexr/openexr/issues/355 说 CMakeLists.txt 中存在错误,我也已更改。但是在这个阶段,我很快就碰到了一堵知识的砖墙,所以非常感谢任何帮助。
谢谢,稻田
python-2.7 - 读取、处理和显示 .EXR 格式图像中的像素
我想读取 exr 文件格式的图像并查看相应位置的像素强度。并且还想将它们堆叠在一起,形成一个神经网络。如何对这些格式进行正常的图像处理?请帮我做这件事!
我已经使用 OpenEXR 文件尝试了此代码,但无法继续进行。
我预计会看到普通的图像处理工具,例如
python - 尝试使用 python 和 openimageIO 提取子图像失败
我刚刚开始使用 OpenImageIO 编写东西。在我的实验中,我试图从 exr 文件中提取一些选定的子图像并将它们写入另一个文件。但是,当我从文档中尝试以下示例时,我不断收到错误消息。
当我尝试这个时,我收到以下错误:
我想知道是否有人可以指出我在这里做错了什么?很感谢任何形式的帮助。
非常感谢
python - 为 python 安装 OpenEXR 失败
我正在尝试安装 OpenEXR。
使用 :
macOS 10.14.5
Python 3.6.5
Xcode 版本 10.2.1
我试过了
但出现以下错误:
如果我尝试安装其他软件包,则同样适用:
https://github.com/jamesbowman/openexrpython
或者
然后我尝试了:
并且安装没有错误。但是在python中导入时找不到我。
任何人都知道为什么以及如何解决这个问题?
大多数安装指南建议通过 pip 安装,但我收到上面的错误。问题似乎是找不到stdlibc++?
c++ - 尝试编译包括 openexr 的项目时无法解析的外部符号 globalThreadCount
我已经使用 Visual Studio 2017 克隆了pbrt-v3 存储库。我尝试编译一个包含 Transform.h 的项目,但我从链接器收到以下错误:
LNK2019 未解析的外部符号“int __cdecl Imf::globalThreadCount(void)”(?globalThreadCount@Imf@@YAHXZ) 在函数“class pbrt::RGBSpectrum * __cdecl pbrt::ReadImageEXR(class std::basic_string,class std::分配器 > const &,int *,int *,class pbrt::Bounds2 *,class pbrt::Bounds2 *)" (?ReadImageEXR@pbrt@@YAPEAVRGBSpectrum@1@AEBV?$basic_string@DU?$char_traits@D@std @@V?$allocator@D@2@@std@@PEAH1PEAV?$Bounds2@H@1@2@Z)
我已经使用 CMake for Visual Studio 编译并安装了 openexr。我已经添加
libpbrt.lib libglog_static.lib IlmThread-2_2.lib Half.lib Iex-2_2.lib IexMath-2_2.lib Imath-2_2.lib
作为项目设置中的附加依赖项。我无法弄清楚在哪个库globalThreadCount
中定义。那么,我错过了哪个图书馆?
python - “pip install openexr”上的语法错误:错误的编译器?
我正在尝试将 OpenEXR 的 python 绑定安装(编译)到我的模块。我正在使用 Python 3.8.0。首先,我只是简单地尝试过pip install openexr
导致在 OpenEXR 的 C++ 安装中缺少头文件而导致的错误。所以我已经安装了 vcpkg 和 OpenEXR 的东西。执行
OpenEXR.cpp
由于Python 绑定中的语法错误而失败。我已经从这里手动下载了模块并尝试安装/编译它,这会导致同一文件中出现相同的语法错误。
我的 Visual Studio 在文件中没有发现任何问题,所以我假设问题一定是 pip 用于安装该模块的 C++ 编译器。我安装了 Buildtools 2019 并添加了 2017 的,但没有帮助。我想我必须为 pip 指定编译器,但在这里我在互联网上找不到任何关于这样做的示例。
我的问题:你如何指定 pip 用来安装 OpenEXR 的编译器?
提到的语法错误:
您可以在此处找到 Python 3 和 2 的 OpenEXR 绑定的二进制文件。无论如何,如果有人知道如何调整 pip 完成的编译过程以使其工作,请分享。