You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using the Python Bindings for 3.1.0 with Python 3.10.6 on Windows and getting increasing RAM usage with the script below which converts exrs to pngs - about 1Gb for every frame processed. For context, the original .exr is circa 20k x 2k so is pretty large. This doesn't seem to be a problem for oiiotool.exe (3.1.0) which does the same process perfectly with no increase in RAM usage frame by frame. It's also not a problem if I convert from .exr to .tiff so it does seem to be specific to png. Obvious answer is to switch from png to tiff which I will do but felt I should at least make a record of this here.
import OpenImageIO as oiio
def convert_exr_to_png(exr_file, png_file):
# Open the EXR file
input_image = oiio.ImageInput.open(exr_file)
if not input_image:
print("Error opening EXR file:", oiio.geterror())
return
# Read the image data
spec = input_image.spec()
pixels = input_image.read_image()
input_image.close()
# Create the output PNG file
output_image = oiio.ImageOutput.create(png_file)
if not output_image:
print("Error creating PNG file:", oiio.geterror())
return
# Set the compression level to 0 (no compression)
spec.attribute("png:compressionLevel", 0)
spec.attribute("png:filter", 8)
#spec.attribute("oiio:ColorSpace", "sRGB")
# Open the output PNG file
output_image.open(png_file, spec)
# Write the image data to the PNG file
output_image.write_image(pixels)
# Close the output image
output_image.close()
pixels = None
print(f"Successfully converted {exr_file} to {png_file} with no compression.")
for x in range(1, 2701):
frame = str(x).zfill(4)
exr = f"//flabby/jobs/client_62185/build/virtual_set/comps/openimage/stitchhalfres/stitch_v021.{frame}.exr"
png = f"//flabby/jobs/client_62185/build/virtual_set/comps/openimage/stitchdebug/stitchcspace_v021.{frame}.png"
convert_exr_to_png(exr, png)
print("Processed Frame: ", x)
The text was updated successfully, but these errors were encountered:
I'm using the Python Bindings for 3.1.0 with Python 3.10.6 on Windows and getting increasing RAM usage with the script below which converts exrs to pngs - about 1Gb for every frame processed. For context, the original .exr is circa 20k x 2k so is pretty large. This doesn't seem to be a problem for oiiotool.exe (3.1.0) which does the same process perfectly with no increase in RAM usage frame by frame. It's also not a problem if I convert from .exr to .tiff so it does seem to be specific to png. Obvious answer is to switch from png to tiff which I will do but felt I should at least make a record of this here.
The text was updated successfully, but these errors were encountered: