Hi, i have a general question I've been pondering about. There are two noise reduction/denoising algorithms used in ACR, one is some luminance vawelet denoising algorithm and the second one I don't know much about is used for color artifacts. What algorithms do you think are used in the software?
I am using LibRaw to decode raw images and modify the raw pixel values. I am comparing the raw pixels (no processing applied in my code) to the 'raw' pixels from the same image after conversion to DNG format using Adobe's DNG Converter. I am accessing the raw pixels by calling LibRaw::open_file() -> LibRaw::unpack() -> LibRaw::raw2image(), and then accessing the pixel values in the imgdata.image structure.
There's something I cannot understand: when extracting the maximum value in the raw image, I obtain a small value whatever the camera used (Nikon D90 or PhaseOne IQ180).
Here is a piece of code to better understand my query:
I just downloaded and compiled the libraw APIs. I was trying to use the APIs to access the Raw bayer stream from a canon CR2 file.
After instantiating a LibRaw object and calling its open_file(), unpack() and raw2image() functions, im able to print out pixel values using the imgdata.image[pixelindex][channelindex] data array. (I see a nice RGBG pattern coming out here)
One of the images that I accessed had no values in the imgdata.color.cam_xyz array. All of them are 0.
My question is that, in absence of values of xyz to rgb conversion matrix, how do I do color correction?
For research purposes I have to try to implement a software that will be able to give an 'as linear output as possible', from the raw image data.
One thing that concerns me is the ICC profiles of the images. If there is an ICC profile, LibRaw reads it and passes it to the converted image. Is there any way to deactivate this profile and end up with only the raw image data?
Also, which book/article/webpage do you suggest me to read in order to grasp the details of raw files and parameters?
Recent comments