Wednesday 3 August 2011

imaging - Photodetector Question: Does converting an RGB image to grayscale produce the same result as using a grayscale image detector?

OP here. For those who care, I think I figured out a solution; for my particular situation at least.



I'm pretty sure that as long as I use reference images for each wavelength I will be able to measure the reflectivity of my samples using RGB images converted to grayscale. Much like in spectrophotometry, I will be calculating the following ratio:



sample(wav)/ref(wav) = reflect(wav)



Where...



sample(wav) is a grayscale pixel value as a function of wavelength for images of the sample.



ref(wav) is a grayscale pixel value as a function of wavelength for images of the reference.



reflect(wav) is the reflectivity of the sample as a function of wavelength for an arbitrary pixel.



FYI my samples are Silicon wafers and the reference I will be using will be an Aluminum mirror. Both are specularly reflective.



Now I will attempt to prove that this makes sense mathematically...



Let's say at a particular wavelength there is some intensity reflected from the sample, I_sample(wav), and some intensity reflected from the reference, I_ref(wav). We want to measure something proportional to each of these intensities at each wavelength. Let's see if the RGB camera is going to screw us over or not...



The red, green, and blue filters each have there own transmission as a function of wavelength. Let's call these R(wav), G(wav), and B(wav). Thus the R,G,B values (0-255) that get recorded for the sample are proportional to R(wav)*I_sample(wav), G(wav)*I_sample(wav), B(wav)*I_sample(wav). And similarly for the reference we have R(wav)*I_ref(wav), G(wav)*I_ref(wav), B(wav)*I_ref(wav).



Converting these images to grayscale involves weighting the R, G, B values in the following manner: gray = aR+bG+cB. Which will give us the following grayscale pixel values:



sample(wav): a x R(wav) x I_sample(wav) + b x G(wav) x I_sample(wav) + c x B(wav) x I_sample(wav)



ref(wav): a x R(wav) x I_ref(wav) + b x G(wav) x I_ref(wav) + c x B(wav) x I_ref(wav)



A factor of aR(wav) + bG(wav) + c*B(wav) can be pulled out of each, and then if the ratio of sample(wav)/ref(wav) is calculated the common terms cancel leaving I_sample(wav)/I_ref(wav). This is reflectivity! Voila!



Hope this is correct... I have to go, but will continue to think about this, and will edit if I realize anything is wrong.

No comments:

Post a Comment