DeclanRussell / NvidiaAIDenoiser

A simple implementation of Nvidia's AI denoiser
MIT License
398 stars 52 forks source link

OpenExr files can't be read. #1

Closed DominikPott closed 6 years ago

DominikPott commented 6 years ago

Hey Declan,

I'm having problems loading in openExr renderings as input images. (I'm using your precompiled windows cli). Failed to load is what it says in the termial. I have a sample exr image attached which you might use for testing purposes. It would be super helpfull to use exr as they are the default for rendered cg images. My c++ skills arent polished enough to debug it myself but from a quick glimps at the main. cpp and it might just be the image library you choose althoug it says that they support openexr on their website.

Thanks, Dominik

creatureA_comp.0001.zip

DeclanRussell commented 6 years ago

Hey Dominik, Sorry for the late reply I've been away recently. Thanks for the repro, It does indeed seem to be DevIL that is for some reason failing when loading EXRs. It doesn't seem to even know what an EXR file is which is weird so perhaps the DevIL build I have wasn't built with OpenEXR. I'll try to dig a little deeper for a solution when I get a free moment.

Cheers, Dec

DominikPott commented 6 years ago

Hey Declan,

thansk for the answer :) I used your code as a source and used the imageio library to handle the exr data better. Its still a little bit confusing because exr hold so much more data than a normal jpg :) Anyhow I can show you the code if you want. Thanks again ;)

Dominik

On 24 April 2018 at 00:52, Declan Russell notifications@github.com wrote:

Hey Dominik, Sorry for the late reply I've been away recently. Thanks for the repro, It does indeed seem to be DevIL that is for some reason failing when loading EXRs. It doesn't seem to even know what an EXR file is which is weird so perhaps the DevIL build I have wasn't built with OpenEXR. I'll try to dig a little deeper for a solution when I get a free moment.

Cheers, Dec

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/DeclanRussell/NvidiaAIDenoiser/issues/1#issuecomment-383747707, or mute the thread https://github.com/notifications/unsubscribe-auth/AD75wkJLHy2jKd30fgL5uVPm47z7fglPks5trlsPgaJpZM4TPCqB .

DeclanRussell commented 6 years ago

Yeah that's sounds great, is this open image io or the python imageio library?

DominikPott commented 6 years ago

Sorry I missed out on your response. I used the c++ library. There is an packagemanager by Microsoft to build OpenSource libraries. vcpkg which I used.

And here is my denoiser implementation with OIIO. It lacks a lot of checks etc but you can see how to get an image inside and out again.

After I did some evaluation I think its (at least not for me)necessary to fix the bug. The current limitations of the denoiser make it not really usefull for vfx production. But I can encourage you to have a look at the OIIO library. It is / will be used in most highend renderers 3d software packages.

Thanks & all the best,

Dome

DeclanRussell commented 6 years ago

Yup, I completely agree. In fact the reason I used DevIL was because I thought it would manage EXRs but apparently for my version that is not the case.

Thanks for all the info, anything that will help building OIIO is greatly appreciated. I'll take a look at your code and try to get something implemented soon.

Cheers, Dec

DeclanRussell commented 6 years ago

Thanks again on the help on this, vcpgk is a real game changer! In the latest release I have added OpenImageIO and therefore EXR support. Therefore I am going to close this issue :)