Hi all!
I have a question about converting RGB to CIE-XYZ with xyz_rgb.cal.
For transforming XYZ into RGB I can use this lines:
rcalc -f xyz_rgb.cal -e 'ix=$1;iy=$2;iY=$3' -f xyz_rgb.cal \
-e 'iX=ix/iy*iY;iZ=(1-ix-iy)/iy*iY' \
-e '$1=R(iX,iY,iZ) ; $2=G(iX,iY,iZ) ; $3=B(iX,iY,iZ)'
But there is also a part for calculating CIE-XYZ from RGB values, isn�t it?
Unfortenatly, I don�t know what lines I have to write.
Thanks,
Nina
Hi Nina,
These are the formulas you need to convert from Yxy to radiance-rgb:
X=x*Y/y;
Z=(1-x-y)*Y/y;
r= 2.565*X -1.167*Y -0.398*Z;
g= -1.022*X +1.978*Y +0.044*Z;
b= 0.075*X -0.252*Y +1.177*Z;
Raphael
···
At 28.06.2005 17:25, you wrote:
Hi all!
I have a question about converting RGB to CIE-XYZ with xyz_rgb.cal.
For transforming XYZ into RGB I can use this lines:
rcalc -f xyz_rgb.cal -e 'ix=$1;iy=$2;iY=$3' -f xyz_rgb.cal \
-e 'iX=ix/iy*iY;iZ=(1-ix-iy)/iy*iY' \
-e '$1=R(iX,iY,iZ) ; $2=G(iX,iY,iZ) ; $3=B(iX,iY,iZ)'
But there is also a part for calculating CIE-XYZ from RGB values, isn´t it?
Unfortenatly, I don´t know what lines I have to write.
Thanks,
Nina
_______________________________________________
Radiance-general mailing list
Radiance-general@radiance-online.org
http://www.radiance-online.org/mailman/listinfo/radiance-general
Sorry my previous answer was just irrelevant to your question...
In fact you need the inverse transformation. Here it is:
X=0.5142*r + 0.3240*g + 0.1618*b;
Y=0.2652*r + 0.6702*g + 0.0646*b;
Z=0.0240*r + 0.1229*g + 0.8531*b;
x=X/(X+Y+Z);
y=Y/(X+Y+Z);
z=Z/(X+Y+Z);
Hope this will help you.
Raphaël
···
At 28.06.2005 17:25, you wrote:
Hi all!
I have a question about converting RGB to CIE-XYZ with xyz_rgb.cal.
For transforming XYZ into RGB I can use this lines:
rcalc -f xyz_rgb.cal -e 'ix=$1;iy=$2;iY=$3' -f xyz_rgb.cal \
-e 'iX=ix/iy*iY;iZ=(1-ix-iy)/iy*iY' \
-e '$1=R(iX,iY,iZ) ; $2=G(iX,iY,iZ) ; $3=B(iX,iY,iZ)'
But there is also a part for calculating CIE-XYZ from RGB values, isn´t it?
Unfortenatly, I don´t know what lines I have to write.
Thanks,
Nina
_______________________________________________
Radiance-general mailing list
Radiance-general@radiance-online.org
http://www.radiance-online.org/mailman/listinfo/radiance-general
Thank you Raphael, but this is not the thing I wanted to know.
I would like to calculate XYZ from RGB with xyz_rgb.cal.
What I need are the commands that xyz_rgb.cal will calculate it.
rcalc ....
I hope anybody can help me.
Thanks, Nina
Raphael Compagnon schrieb:
···
Sorry my previous answer was just irrelevant to your question...
In fact you need the inverse transformation. Here it is:
X=0.5142*r + 0.3240*g + 0.1618*b;
Y=0.2652*r + 0.6702*g + 0.0646*b;
Z=0.0240*r + 0.1229*g + 0.8531*b;
x=X/(X+Y+Z);
y=Y/(X+Y+Z);
z=Z/(X+Y+Z);
Hope this will help you.
Rapha�l
At 28.06.2005 17:25, you wrote:
Hi all!
I have a question about converting RGB to CIE-XYZ with xyz_rgb.cal.
For transforming XYZ into RGB I can use this lines:
rcalc -f xyz_rgb.cal -e 'ix=$1;iy=$2;iY=$3' -f xyz_rgb.cal \
-e 'iX=ix/iy*iY;iZ=(1-ix-iy)/iy*iY' \
-e '$1=R(iX,iY,iZ) ; $2=G(iX,iY,iZ) ; $3=B(iX,iY,iZ)'
But there is also a part for calculating CIE-XYZ from RGB values, isn�t it?
Unfortenatly, I don�t know what lines I have to write.
Thanks,
Nina
_______________________________________________
Radiance-general mailing list
Radiance-general@radiance-online.org
http://www.radiance-online.org/mailman/listinfo/radiance-general
Hi Nina,
Raphael gave the equivalent formula as you get from xyz_rgb.cal unless you change the primaries or white point in there. To use the formulas from xyz_rgb.cal, try:
rcalc -f xyz_rgb.cal -e 'iR=$1;iG=$2;iB=$3' -e '$1=X(iR,iG,iB);$2=Y(iR,iG,iB);$3=Z(iR,iG,iB)'
As you give R G B on input, you'll get X Y Z on output.
-Greg
···
From: Nina Wittmann <nina.wittmann@ise.fraunhofer.de>
Date: June 29, 2005 3:02:56 PM GMT+02:00
Thank you Raphael, but this is not the thing I wanted to know.
I would like to calculate XYZ from RGB with xyz_rgb.cal.
What I need are the commands that xyz_rgb.cal will calculate it.
rcalc ....
I hope anybody can help me.
Thanks, Nina