05-30-2008 03:07 PM
06-02-2008 03:08 PM
06-11-2008 04:03 PM
Chris,
I work at FLEXTRONICS and we do a lot of Camera Module testing, and a lot of image sensors are moving to 10 and 12 bit BAYER.
Since the "IMAQ Bayer Color Decode.vi" limits you to 8bit demosaicing, are there any planes or current efforts to have support for 16 bit demosaicing to get a U64 RGB image out, and maybe even adding options of interpolation algorithms?
06-12-2008 05:12 PM
06-13-2008 07:10 PM
Yes, I see that, I did not even notice it before.
But this only gets me half way, before I write this interpolated RGB (U16 per plane), I need to interpolate my RAW U16 BAYER Data into RGB.
Do you know of any resources (or actual code) that does an "adaptive interpolation" (which I think is what the "IMAQ Bayer Color Decode.vi" is doing) of U16 BAYER data?
Thanks Chris,
Bryan Moore
06-16-2008 06:38 PM - edited 06-16-2008 06:39 PM
11-17-2008 06:18 PM
Hello,
I've been trying to build this manual 16 bit bayer decoding vi and I've been able to create the three U16bit color planes. I have made some sacrifices--as you will see in the attached vi--but I've been successful in extracting the three color channels and extrapolating the missing pixels using standard Labview vi's.
However, I am having difficulties with
1.) Constructing the U64 bit array used by IMAQ Array to Color Image.vi
2.) Determining what to use as the Alpha Channel.
Can someone illustrate for me an example of constructing the U64 bit?
Thanks in advance.
Anderson
11-18-2008 09:04 AM
11-18-2008 09:24 AM
11-18-2008 10:11 AM
By shifting the image, you are sacrificing positional accuracy and color accuracy. Your R, G, and B values at a single pixel will all be from different pixels. If nothing else, you should add another shift operation that moves everything back to where it started. Your version will work fine on solid colors, but any time the colors change it won't look so good.
Here is a scheme that is a little bit more complex but might work better:
Create masks for the R, G, and B planes. These could be created beforehand and stored. These masks would have a 1 wherever that color is active and zeroes everywhere else.
Combine the original image with each mask, using either multiply or mask. This will give you an image for each color plane.
Use a 3x3 convolution filter to fill in the unknown values. For R and B, the filter would be [[1 2 1][2 4 2][1 2 1]] with a convolution divisor of 4. For G the filter would be [[0 1 0][1 4 1][0 1 0]] with a convolution divisor of 4. You could adjust the divisors to do color balancing.
Combine the color planes to get a complete image. Can this be done with IMAQ combine color planes, or does that only work with 8 bit color planes?
Bruce