Discussion:
RGB to wavelength related problem
(too old to reply)
Lord K.
2009-11-29 20:17:00 UTC
Permalink
Hi,

I am aware that the "RGB to wavelength" question is widely covered on the
net, and I know that there is no way to perform such a conversion. But my
real need is very specific; maybe some good model can be used for
performing what I want.

My first goal was to perform some "black and white conversion" from a
color picture (I know that I am reinventing the wheel...). To be more
precise, I wanted to simulate some old films. I am aware of the
documentation that can be found on this topic, but here is what I did. I
had a look at the technical specifications of these old films. For
instance, you can find the well-known Tri-X at:
http://motion.kodak.com/US/en/motion/Products/Production/
Black_And_White_Films/7266/tech7266.htm
and the spectral sensitivity curve at:
http://motion.kodak.com/US/en/motion/Quicklinks/Curves/ti7266ss.htm

At that point I searched on the net and discovered that the "rgb to
wavelength" conversion can't be achieved. I found some links where people
describe some more-or-less good "models", but of course it was too much
complicated for my real need.

Suddenly I noticed that my favorite film has a very specific curve:
http://www.foma.cz/upload/foma/prilohy/F_pan_100_en.pdf
It looks like the curve is made of two straight lines; we could even say
it is made of a single straight line over the visible spectrum.

For that reason, the classical way of converting the RGB color to black
and light with the channel mixer (by giving some coefficient to the red,
green, and blue) is probably not bad. But can't we do better?

Do you see a good way (probably not perfect I know) of getting the gray-
level corresponding to this "spectral sensitivity curve" from the RGB
values? Would it be a good idea, for instance, to get the CYM (cyan,
yellow, magenta) of the color in order to have SIX values (rather than 3)?

Assuming the curve is a straight line, could something be done by
converting the RGB to HSV and get the Hue which can be mapped to the
wavelength?

I would be very happy to have some "scientifical" filter for this film?

Best regards,

Lord K.
12AX7
2009-12-29 16:42:53 UTC
Permalink
You will need to deconstruct the image from the RGB values back through the
sensor to the actual scene. Then, using reflected light from the scene
cascade that with the spectral sensitivity of your film. Building a model
that goes back to the original scene should help you simulate what response
the film would have to the scene. You'll have to make some assumptions of
course, for example determining if the scene is illuminated with sunlight or
artificial lighting. I highly recommend a book Digital Color Management:
Encoding Solutions by Edward J. Giorgianni and Thomas E. Madden. In this
book you will find step by step procedures to go from digital data back to
the scene and then up some other imaging chain, such as camera film to a
print. Plug in your spectral response curve and you should be good to go.
Post by Lord K.
Hi,
I am aware that the "RGB to wavelength" question is widely covered on the
net, and I know that there is no way to perform such a conversion. But my
real need is very specific; maybe some good model can be used for
performing what I want.
My first goal was to perform some "black and white conversion" from a
color picture (I know that I am reinventing the wheel...). To be more
precise, I wanted to simulate some old films. I am aware of the
documentation that can be found on this topic, but here is what I did. I
had a look at the technical specifications of these old films. For
http://motion.kodak.com/US/en/motion/Products/Production/
Black_And_White_Films/7266/tech7266.htm
http://motion.kodak.com/US/en/motion/Quicklinks/Curves/ti7266ss.htm
At that point I searched on the net and discovered that the "rgb to
wavelength" conversion can't be achieved. I found some links where people
describe some more-or-less good "models", but of course it was too much
complicated for my real need.
http://www.foma.cz/upload/foma/prilohy/F_pan_100_en.pdf
It looks like the curve is made of two straight lines; we could even say
it is made of a single straight line over the visible spectrum.
For that reason, the classical way of converting the RGB color to black
and light with the channel mixer (by giving some coefficient to the red,
green, and blue) is probably not bad. But can't we do better?
Do you see a good way (probably not perfect I know) of getting the gray-
level corresponding to this "spectral sensitivity curve" from the RGB
values? Would it be a good idea, for instance, to get the CYM (cyan,
yellow, magenta) of the color in order to have SIX values (rather than 3)?
Assuming the curve is a straight line, could something be done by
converting the RGB to HSV and get the Hue which can be mapped to the
wavelength?
I would be very happy to have some "scientifical" filter for this film?
Best regards,
Lord K.
Loading...