Showing results for 
Search instead for 
Did you mean: 

Color space

I really need help , i have color detection programm on NI vision builder labview , but i meet to compare the base color space (rgb) to other color space like cymk , grayscale others. I  need to find accuration value of each color space  


but i don’t know how to compare , anyone know what tools i need used or anyone have the example how to compare color space .


Thank u so much.

0 Kudos
Message 1 of 3

Color Space calculations are a complicated field of science.  The mathematics involved are quite basic (most things are quite easily solved with "simple" matrix calculations) but the exact relationship between the different color spaces are very involved and often non-conclusive. There is for instance not a direct match from every specific color in one color space to a color in another color space. Some colors can not be represented in certain color spaces. They also depend if your color space is for an additive or subtractive device representation.


It's a scientific field of its own that most people only have very basic knowledge about including myself. I know about the possible trouble and pitfalls but by far not enough to solve more than simple color space translations.


Naming RGB a base color space is already your first problem. There is nothing basic about RGB, it's common in computer technology because most displays operate by default in RGB color space, but in terms of color space analysis it is in fact rather inferior. You generally want to work in CIELab or maybe sRGB as a base color space and go from there since they are more generic than the typical RGB space which is very dependent on the actual display and camera technology that is used.


But to translate your RGB values into CIELab or sRGB you need a calibration matrix that is specific to your device that created the RGB values. One possibility that I used in the past for this was to take a picture of a color calibration card whose exact color values were provided by the manufacturer in CIELab space. Then use the known CIELab values from this card to calculate a calibration matrix from the acquired RGB values. Then use the inverse matrix to translate the RGB values from an arbitrary picture into CIELab space. Now you have a known and calibrated color representation of your acquired image and can much more easily translate that into other standardized color spaces. But even that only works as good as the light source you use when taking the calibration image. If not taken in a controlled environment (usually inside a box that prevents any surround light reaching the photographed surface and a very good light source in the box itself) that calibration matrix is still not much worth and of course the images you calibrate with it, need to be taken under the same conditions too.


But note that anything like RGB, CMYK or similar really always is dependent on the actual device it is output and that includes things like the type (shiny or mat) and the basic color of the paper itself if you print things for instance. So saying you want to know things like CMYK values without such additional information will give you not even half of the actual information.

Rolf Kalbermatter
My Blog
Message 2 of 3

Look like you need to convert RGB to gray scale, CMYK, and other color space.

You can use NI vision to convert RGB to gray scale, or HSV.

To convert RGB to CMYK, google it for the convert formula.


George Zou
0 Kudos
Message 3 of 3