问题标签 [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.

0 投票
1 回答
1313 浏览

hdrimages - 16 位浮点数据类型

有没有人有在应用程序中使用 16 位浮点类型的经验。这种相对较新的数据类型用于计算机图形学。它由几个规范定义:OpenEXR、DirectX 和新的 IEEE-754 2008 标准。

在 WinHEC 2008 上,Microsoft 的 Chas Boyd 有一个演示文稿来宣传这种数据类型。(我不在那里,但我看到了幻灯片。)“float-16 是新字节”。

我的问题是:是否有人将此数据类型用于 DirectX 纹理之外的任何内容?

如果是这样,为什么?你的应用程序在做什么?

如果是这样,您是否需要完整的 IEEE 支持,包括 denomals、NaN 和 #Inf?

0 投票
3 回答
7248 浏览

opencv - 在 OpenCV 中使用 EXR 图像

我目前正在使用 OpenEXR 进行一个项目,我想实现一些 Blob 检测算法。为此,我想我可以使用 OpenCV,因为它在文档中说它可以打开 OpenEXR 格式文件。

我已经安装了所有的库,并且像我一直在做其他事情一样工作。我用 openCV cvLoadImage 打开一个简单的 jpg 文件。它工作正常。但是当我尝试打开任何 .exr 文件时,它并不喜欢它。我得到一个灰色窗口,应该有图像显示。

有没有人用 OpenCV 和 OpenEXR 库一起做任何测试?他们为你工作了吗?你怎么看?

谢谢。

0 投票
1 回答
2836 浏览

c++ - OpenEXR 图像加载

我已经开始使用 OpenEXR 加载 EXR 图像。我必须使用浮点类型来获取 RGB 像素。

对于 RGB 图像,加载没有问题,使用以下代码:

但我想知道这个库如何解码/转换 Y-RY-GY 图像(亮度 + 色度通道)并获得浮点 RGB 像素数据。

0 投票
2 回答
268 浏览

c++ - 有时我在反转数组时得到 EXEC_BAD_ACCESS(访问冲突)

我正在使用 OpenEXR 库加载图像。

这工作正常,除了图像被旋转 180 度加载。我使用下面显示的循环来反转数组,但有时程序会退出并且 xcode 会给我一个 EXEC_BAD_ACCESS 错误(我认为这与 msvc 中的访问冲突相同)。它不会每次都发生,只是每5-10次发生一次。

理想情况下,我希望将数组反转到位,尽管这每次都会导致错误并且使用 memcpy 会失败但不会导致错误,只是一个空白图像。我想先知道是什么导致了这个问题。

这是我正在使用的代码:(Rgba 是 OpenEXR 中定义的 4 个“Half”sr、g、b 和 a 的结构)

提前致谢!

0 投票
1 回答
9615 浏览

image-processing - 将 EXR 图像序列转换为 .MOV

我正在寻找从 OpenEXR 图像序列创建 Quicktime 电影 (PhotoJpeg) 的编码器。

任何帮助将非常感激

0 投票
2 回答
2907 浏览

makefile - 在cygwin下构建时找不到头文件

我正在尝试在 cygwin (OpenEXR) 下构建某个库,但出现以下错误:

half.h使用#include <half.h>, 引用,实际上是我make/make install之前成功运行的另一个库的一部分。

问题是——当使用#includewith时<>,预处理器期望在哪里找到指定的文件?

(我刚刚在 中找到它/usr/local/include/OpenEXR,但我不知道为什么预处理器不能)。

更新:我还发现:

生成文件

生成文件.am

这实际上降低了我对问题可能是什么的理解。

更新 2:因此,通过在 makefile 中重新定义一些变量,我发现$(CXXCOMPILE)make 似乎不是 run $(CXX) $(CXXFLAGS)CXXFLAGS而是只是-g -O2. 好的,我不知道$(CXX) $(CXXFLAGS)如果这个组合在makefile中的任何地方都没有使用,除了$(CXXCOMPILE)没有运行的地方,它是如何运行的。我可以添加我-I的,CXXFLAGS但我觉得需要更多的添加,所以我更愿意找到问题的根本原因。

(我不确定这是超级用户问题还是堆栈溢出问题,因为我在 C++/Linux 方面的开发技能几乎不存在。)

0 投票
1 回答
2287 浏览

compiler-errors - 在 cygwin 中编译 OpenEXR

我正在尝试用 cygwin 编译 OpenEXR,但我遇到了麻烦。

到目前为止我所做的:

我需要这个,因为它是 OpenEXR 需要它。它运行正常,并在 /usr/local 中创建了三个文件夹bininclude\OpenEXRlib.

然后我继续 OpenEXR,这就是我所做的:

一切运行正常,但是当我这样做make时,出现以下错误:

虽然我不知道为什么会发生这种情况,但我可以通过这样做来解决它:

但是,当我遇到make另一个错误时,我被困在这里:

这会发生在任何人身上吗?我已经用谷歌搜索了很多,但找不到解决方案。我希望有人能帮帮忙。

0 投票
2 回答
877 浏览

java - OpenExr、Swig 和 Java

我尝试创建一个解决方案,允许我在 Java 中读取 OpenExr 图像并将像素数据用于 JOGL 中的纹理。因为在 Java 中没有免费的 OpenExr 库(没有找到任何工作),我的想法是使用 ILM OpenExr 库编写一个小型 c++ 程序并用 Swig 包装它,这样我就可以使用 JNI 加载和使用 dll爪哇。

我构建了 OpenExr 库并在 Visual Studio 2005 中设置了 Swig。它已经创建了一个 dll,允许我获取图像的尺寸,所以我猜工具链运行正常。

h 文件:

.cpp 文件:

Rgba 结构:

Swig 接口文件:

Java测试程序:

就像我说的那样,这是可行的,但我不是为每个像素得到这个像素数据:

最初的想法是我必须在某个时候将像素数据复制到 Java 缓冲区中才能在 JOGL 中使用它。所以我写了getScuct(int i, int j) 方法来获取一个像素的rgba-data,并尽量保持JNI接口简单。

现在的问题是 Swig 不知道如何将 ILM half 数据类型转换为 Java 数据类型。起初我尝试将浮点值存储在 Rgba 结构中,因为 Swig 知道如何转换这些值。根据 OpenExr 文档,将 half 转换为 float 应该没问题,但每次我尝试这样的事情时:

我从 VS 收到一条错误消息,上面写着:

我想出的另一个解决方案是使用 Swig 类型映射并告诉包装器将 ILM 一半转换为 Java 浮点数,但我不确定这是否可能。

因为我对 c++ 和 VS 知之甚少,而且这是我第一次使用 Swig 和 JNI,所以我完全不知道如何解决这个问题。

那么,有谁知道如何解决这个问题,以便我可以将像素数据转换为 java 数据类型?

0 投票
1 回答
129 浏览

c++ - 从管道顺序读取 OpenEXR

我正在尝试从一个管道读取 EXR 流,处理它们并将结果写入另一个管道。在这种情况下,它们被命名为管道,但它们也可以是标准输入和标准输出。

当管道干涸时会出现我的问题。OpenEXR 不喜欢尝试读取任何内容,并且会因以下堆栈跟踪而崩溃。

我真的希望 OpenEXR 阻塞线程,直到有更多数据可用,但是如果有一些方法可以手动检查是否有更多数据可以做,只要它有点健壮。

谢谢。

0 投票
2 回答
1415 浏览

python - 在 OSX 10.7 上读取或写入 OpenEXR 时,OpenCV 2.4.3 引发错误

我正在 OSX 10.7.5 上运行 OpenCV (2.4.3) 的 brew 安装。我已经尝试过 OpenEXR (1.7.0) 的 brew install 和下载它们的源代码并直接编译 1.7.1,因为我读到它的界面可能已经发生了一些变化。两个版本的 OpenEXR 都可以让我在预览中打开 EXR 文件。每次新安装 OpenEXR 后,我都会返回,卸载 OpenCV 并重新安装。OpenCV 正在检测正确的 OpenEXR:

当我尝试在 python 中通过 cv2 读取或写入 EXR 时,我得到

这是完整的崩溃报告:

具体来说,这些错误是由于:

有什么建议么?

编辑:我还尝试从 OpenCV 网站重新编译 2.4.3 的源代码,并且遇到了完全相同的问题。