Code Monkey home page Code Monkey logo

Comments (11)

Jake-Jasper avatar Jake-Jasper commented on September 3, 2024 1

Thanks for the reply! I will have a look. I am not entirely sure that noise is the correct term for what I am experiencing. When I open up the image in Image viewer on ubuntu it looks crisp and clear, but when I import it as a np array using rawpy it looks quite a lot different. would the program clean it up or am I doing something wrong?

from rawpy.

letmaik avatar letmaik commented on September 3, 2024 1

Cameras have quite advanced postprocessing algorithms that are tuned for a specific sensor etc. Reproducing that without help from the manufacturers is near impossible. I'm going to close this issue as there is nothing more that rawpy could do here. You could try to apply more image processing algorithms on top of the postprocessed image from rawpy. Sometimes simply downsampling helps with noise, if you can tolerate the loss in coordinate accuracy.

from rawpy.

letmaik avatar letmaik commented on September 3, 2024

Currently rawpy doesn't make all possible options from the underlying libraw library available, amongst them a few related to noise. Have a look at https://www.libraw.org/docs/API-datastruct-eng.html and search the page for "noise". If you make a list of the ones you need I can look at adding them for the next version. The ones currently available in rawpy are https://letmaik.github.io/rawpy/api/rawpy.Params.html#rawpy.Params but note the parameter names might be slightly different. There are none of the noise-related ones in there currently.

from rawpy.

letmaik avatar letmaik commented on September 3, 2024

I had a look myself and noticed that the libraw docs are slightly outdated and mention parameters that don't exist anymore. Since it was easy to do I added a few missing noise related ones, see the linked commit.
About your specific issue, what exactly do you open in Image Viewer? The jpg or the raw file? And similarly how do you use rawpy exactly? Do you look at the raw_image directly or do you look at the result of postprocess()?

from rawpy.

Jake-Jasper avatar Jake-Jasper commented on September 3, 2024

With image viewer, I am looking at the raw file (.cr2). When I import using rawpy I run postprocess() then use matplotlob.pyplot. Can you view the image without using postprocess()? This is when it is converted to RGB correct?

from rawpy.

letmaik avatar letmaik commented on September 3, 2024

No you can't really view an RGB image without postprocessing. There are many ways to postprocess, no idea what Image Viewer does and what libraries it uses to do that. Let me know if you want to experiment with the additional options I exposed, then I'll do an alpha release.

from rawpy.

Jake-Jasper avatar Jake-Jasper commented on September 3, 2024

I would be up for testing the added parameters!

from rawpy.

letmaik avatar letmaik commented on September 3, 2024

There you go: pip install rawpy==0.12.0a1

from rawpy.

Jake-Jasper avatar Jake-Jasper commented on September 3, 2024

How do I implement the 'fbdd_noise_reduction' ? . I've tried doing fbdd_noise_reduction = 0,12 etc and get
int' object has no attribute 'value'.

from rawpy.

letmaik avatar letmaik commented on September 3, 2024

You're right, I forgot to update the docs!
You would do fbdd_noise_reduction=rawpy.FBDDNoiseReductionMode.Full (or .Light or .Off (default)). See https://letmaik.github.io/rawpy/api/rawpy.Params.html for the other parameters.

from rawpy.

Jake-Jasper avatar Jake-Jasper commented on September 3, 2024

Hey,

It definitely produced better results! But still not as good as the native jpg's that the camera produces.

below are two different masks that I have produced, the first without the noise reduction, and the next with the noise reduction.
image

image

If you have any further suggestions as to what I could try I would be grateful, thanks for all the help so far!

from rawpy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.