CS7650 Realistic Image Synthesis - Project 2

XYZ to RGB color space conversion

Modify program 1 to have more sensible filter functions based on XYZ and RGB profiles.

I decided to work on my CRT montior for this project. First thing I did was to go through the Adobe Gamma tool in the Control Panel and adjust the gamma value for the Red, Green and Blue components. Since after the adjustments I ended up with a new ICC profile, there was no pre-defined XYZ-to-RGB conversion matrix. Instead I used this generic conversion matrix which was provided to the class and it seemed to produce good results.

r = 2.5623 * x + (-1.1661) * y + (-0.3962) * z
g = (-1.0215) * x + 1.9778 * y + 0.0437 * z
b = 0.0752 * x + (-0.2562) * y + 1.1810 * z

For normalization, I divided each pixel by the maximum of X,Y,Z value in the entire image. Gamma correction was later applied and I used a value of 0.4.



100SPP 1000SPP


I also did some testing on a different machine. This time it was a LCD screen and the color space used was the sRGB. From the Bruce Lindbloom site, I used the following conversion:

r = 3.24071 * x + (-1.53726) * y + (-0.498571) * z
g =(-0.969258) * x + 1.87599 * y + 0.0415557 * z
b = 0.0556352 * x + (-0.203996) * y + 1.05707 * z

and here are the results below. The images seemed to have more of a red hue which I'm not able to explain. Also it was interesting that the bottom-right most square which is supposed to be the black square actually appears to be dark grey. I tried different values of gamma but it always turns out grey or if it does seem black then all the other colored squares are affected in turn.

2000SPP - no gamma correction
2000SPP - with gamma correction