Questions tagged [openexr]

OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications.

OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications.

OpenEXR is used by ILM on all motion pictures currently in production. The first movies to employ OpenEXR were Harry Potter and the Sorcerers Stone, Men in Black II, Gangs of New York, and Signs. Since then, OpenEXR has become ILM's main image file format.

OpenEXR's features include:

  • Higher dynamic range and color precision than existing 8- and 10-bit image file formats.
  • Support for 16-bit floating-point, 32-bit floating-point, and 32-bit integer pixels. The 16-bit floating-point format, called "half", is compatible with the half data type in NVIDIA's Cg graphics language and is supported natively on their new GeForce FX and Quadro FX 3D graphics solutions.
  • Multiple lossless image compression algorithms. Some of the included codecs can achieve 2:1 lossless compression ratios on images with film grain.
  • Extensibility. New compression codecs and image types can easily be added by extending the C++ classes included in the OpenEXR software distribution. New image attributes (strings, vectors, integers, etc.) can be added to OpenEXR image headers without affecting backward compatibility with existing OpenEXR applications.

ILM has released OpenEXR as free software. The OpenEXR software distribution includes:

  • IlmImf, a library that reads and writes OpenEXR images.
  • Half, a C++ class for manipulating half values as if they were a built-in C++ data type.
  • Imath, a math library with support for matrices, 2d- and 3d-transformations, solvers for linear/quadratic/cubic equations, and more.
  • exrdisplay, a sample application for viewing OpenEXR images on a display at various exposure settings.

The OpenEXR software distribution is now licensed under the modified BSD license.1

Attribution and Source Material

103 questions
0
votes
1 answer

Ffmpeg - convert Aces exr sequence to h264

I would like to convert an exr sequence to an h264 video. This is fairly easy but the exr sequence is in [AcesCG][1] colourspace which is a colourspace created by [OCIO][2] (an open source colour management solution that has become the standard for…
Michael B
  • 153
  • 4
  • 15
0
votes
0 answers

Assigning luminance Y to color R for writing single-channel EXR files with OpenCV-Python

I am processing texture maps for Unreal Engine 5 with OpenCV-Python, but I've encountered a problem with single-channel 16-bit EXR images, e.g. opacity mask maps, that are saved with only a Y luminance channel. UE5 does not read the Y channel, which…
Stirk
  • 33
  • 4
0
votes
0 answers

Reading EXR file

I'm trying to create a IWICBitmap from an EXR file (error checks removed). #pragma pack(push,1) struct fl { float r, g, b, a; }; #pragma pack(pop) HRESULT Open(const char* f,IWICBitmap** d) { …
Michael Chourdakis
  • 10,345
  • 3
  • 42
  • 78
0
votes
0 answers

Segmentation fault when writing numpy array to exr in Python

I'm using OpenEXR to write an exr image of size (256, 256) to a display window of (896, 1280). However, I get the error of Segmentation Fault: I've already increased the stack memory using ulimit -s 32768. It's been a few hours now and I can't find…
0
votes
0 answers

Writing an exr image one scan line at a time in Python

I've been assigned to write a tool that stitches exr files together (in a grid of any size, be it 2x2 or 4x4). When writing the output image, the memory footprint should be small. enter image description here How do I write the output image one scan…
0
votes
0 answers

In Python, reading an EXR one scanline at a time using OpenEXR

OpenEXR for python has different classes and methods than those stated at docs There is no RgbaInputFile() class, nor is there a lineOrder() method, nor is there a readPixels() method to read one scanline at a time. Any ideas? Here is my code thus…
0
votes
0 answers

Reading compressed EXR scan-line files by loading one scanline at a time into memory

I have some compressed EXR scan-line files that are unable to be read using minexr (shows error assert self.compr == 0x00, 'Compression not supported.'). Additionally, I want to read them one scanline at a time, so as to not overload memory. On the…
0
votes
0 answers

Extract a specific layer from EXR

I have an EXR file, and I would like to extract and save on my machine, as a .png image, a specific layer given its name. I am currently using python, opencv and openexr. Not sure how to achieve this, any suggestion? Thanks! I was able to have…
dude
  • 1
  • 3
0
votes
2 answers

Read first file in python

I'm trying to make a script that iterates through folders in a directory and saves the very first one in the folder to a variable. I'm trying to do this because I have folders in a directory with hundreads of .exr files but I only need the first…
0
votes
1 answer

ModuleNotFoundError: No module named 'OpenEXR' on blender

I'm trying to use OpenEXR module on blender's 3.1.2 script but I can't import it. I can import it using my python 3.8.10 installed. I first install it using : pip install openexr pip3 install openexr sudo apt install libopenexr-dev And it works…
Ja_cpp
  • 2,426
  • 7
  • 27
  • 49
0
votes
0 answers

ModuleNotFoundError: No module named 'OpenEXr'

I want to work with OpenEXr package on python but I couldn't import it on both python 2.7 and 3.8 : Python 3.8.10 (default, Mar 15 2022, 12:22:08) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>…
Ja_cpp
  • 2,426
  • 7
  • 27
  • 49
0
votes
0 answers

V-Ray .exr to mp4 ffmpeg Stuttering

I have an issue using ffmpeg with V-Ray exr. I'm trying to export .mp4 from .exr, so ihave used this command ffmpeg.exe -y -start_number 1 -framerate 25 -i D:\temp\WAC_TEST\what_about_cooking_sq01_p040_rendering_main_publish_v000.%4d.exr -pix_fmt…
0
votes
1 answer

FrameBuffer.insert() will result in a access violation during loading of EXR image

I have the following function to load a OpenEXR image, which is basically just copied from their examples: void HDrRenderer::ReadExrImage( const char fileName[], Imf::Array2D& rPixels, Imf::Array2D& gPixels, …
Roland Deschain
  • 2,211
  • 19
  • 50
0
votes
0 answers

OpenEXR header file not found

I've built and install OpenEXR library to usr/local. However, when running g++ compiler on my header files that has #include #include #include #include #include…
Linh Phan
  • 83
  • 1
  • 9
0
votes
0 answers

Multi-Channel EXR Files

I am relatively new to computer vision and image processing. I have a single EXR file with 7 channels: 1-3 give me the RGB values, 4-6 give me the surface normals coded as RGB values and 7th channel contains depth information from the camera of the…