[argyllcms] Re: Obtaining a camera color response matrix

  • From: Graeme Gill <graeme@xxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Fri, 13 Mar 2015 23:49:06 +1100

Nikolai Tasev wrote:


> I have an industrial camera that accepts a color transformation matrix.
> It is a 3x3 matrix plus offset parameters. For example R' = R*m00 + G*m01 + 
> B*m02 +
> offset1 and so on.

> I presume that this means that I should find the closest matrix that converts 
> from the RGB
> raw values to RGB values in sRGB.
> Do you think this is a correct assumption?

That seems a feasible idea, although it would be interesting to
know if that matrix is applied in linear light space ?

> Is there a way to calculate such a matrix with argyll?

There's no tool to create matrices from RGB to RGB space.

> Here is my approximate idea:
>    - calibrate the camera in the intended lighting conditions
>    - take a shot of a calibration target
>    - measure the values with scanin
>    - create an input profile with colprof ( matrix only )
>    - look inside the icm file and find the matrix RGBraw to XYZ
>    - multiply it by the matrix XYZ to sRGB
>    - zero the offets
> Do you think there is another way to do it or if I am missing some details?

Yes, that might sort of work, but you are overlooking the effect of
the gamma encode space to some degree. Ideally you would want the
camera profile created with the sRGB gamma curve, and you are assuming
that the camera matrix is applied in linear light space.

> What use case should require offsets that are different than zero and how to 
> change the
> calculations?

If there is an offset out of the camera, say due to black level noise,
you might want to subtract an offset (are negative offsets supported ?).

If that were the cause of needing an offset, then you would simply measure
the black camera RGB, and multiply by your correction matrix to
arrive at the offsets to subtract.

Graeme Gill.

Other related posts: