I am trying to extract 16 bit information from new cr3 raw files. Somehow, the conversion only works when output_bps=8. If I set it to 16, the output array is garbled and the pixel values still only take values up to 8 bits.
Hi folks,
I had a conceptual question about white balancing and its impact on matrices such as rgb_cam and cam_xyz.
My understanding of white balancing is scaling the relative amounts of R, G and B depending upon the source illumination. There is a paper (cited by many sources) by Viggiano (http://acolyte-color.com/papers/EI_2004.pdf) that states that best results are obtained when white balancing is done on the CFA data. Hence, we scale the CFA data using the multipliers.
I'm trying to write a raw image converter, thanks to LibRaw and the ecosystem around it which made my journey easier.
I've read the image processing code from LibRaw, but I'm not sure I understand the procedure correctly. If someone can point me to the right direction, it would be very helpful.
Let's assume the raw image is RGB rather than using CFA. This is what I do when a pixel is acquired:
Hi,
I had a question about Gamma correction applied by libraw during the call to dcraw_process. I came across this post https://www.libraw.org/node/1968 but I have a couple of follow-up questions.
1. The libraw documentation says by default gamm[] has values for the BT.709 workspace. Does this mean that I need to update this value if I request data in the sRGB or Adobe colorspaces? What gamm should I use for the Wide Gamut colorspaces?
Hey guys, I'm a complete newbie to raw image processing.
I'm trying to mimic how Adobe Camera Raw calculates Temperature and Tint with custom whitebalance spot selection. You choose a pixel and it changes the temperature and tint based on the chosen pixel such that the pixel chosen becomes a gray pixel. I'm trying to calculate the exact values as ACR.
I have a DCP file for the camera and I'm able to read data from it.
Hi,
I am observing some strange behaviour with some Fuji RAF files. My workflow is:
Libraw r;
r.open_file(fileName);
r.unpack()
When I inspect r.imgdata.sizes, I notice the visible image size is reported larger than RAW size. In my specific file, the values are:
3688 2512 for RAW height and Raw width
4291 4292 for Visible height and width
The Aspect Ratio is reported as 1.
I am trying to copy the visible portion of the RAW data into my buffer, but these sizes result in a crash. Reading the entire RAW data works fine.
Hi,
I had a question about the xtrans and xtrans_abs properties. Inspecting the values of this property for a few RAW files I have, I noticed they take values 0, 1 or 2. I assume these represent R, G and B respectively.
Assuming that the visible portion of the image starts at (3, 2), does xtrans represent the repeating pattern starting at (3, 2) and xtrans_abs represent the pattern starting at (0, 0)?
On a different note, does libraw support RCCB and RYYB layouts? These Bayer sensors are quite popular in automotive.
Good day to all,
I hope you guys can help me with this question:
-Is there a way to access the pixel intensity in a raw image? (14bit/channel)
For details:
I could do it easily with .jpg through opencv by: reading the image to a matrix, then access the matrix element: image.at(row,column). However, it is a 8bit/channel image, therefore the intensity is compressed in the range of [0,255].
I would want to access the intensity of raw data (in my case 14bit/channel), is there a way to do that with LibRaw?
Hi,
I had a few questions about the XYZ output color option that I can use before calling dcraw_process.
1. Is the XYZ image generated by applying inv(cam_xyz) on the RGB data sensor data (after WB etc)?
2. What is the white-point when this XYZ is generated? Is it d65?
3. How do other options such as no_auto_bright used when the output is in XYZ space? Not really sure how contrast stretching can be applied to an output in an XYZ space?
I am trying to generate a photon transfer curve from DNG data from an iPhone. Since I am interested mostly in pixel statistics, what are the most "minimal" processing parameters I should be using?
Since I'd like to obtain data for the 3 (or 4) CFA channels separately, I'm currently using:
Recent comments