high-contrast color array generation
-
I want an array of colors which can be distinguished eaily by human. The more colors the better. At least, manually constructed array is also ok. Thanks very much.
system
You want to choose red, green, and blue levels as points in a three-dimensional space that are as far apart as possible. This space is a 3D array where each index goes from 0 to 255. There is also a perceptual component to this problem; a person's perception of color levels is not linear with respect to the numeric indexes. For example, changing from red 20 to red 30 may be perceived as a much different increment than changing from red 120 to red 130. So one approach is to use the geometric approach to suggest colors that are different, present them to the user, and allow the user to select the colors that are used. An enhancement would be to allow the user to "edit" the color presented to increase the difference to the colors already selected.
-
You want to choose red, green, and blue levels as points in a three-dimensional space that are as far apart as possible. This space is a 3D array where each index goes from 0 to 255. There is also a perceptual component to this problem; a person's perception of color levels is not linear with respect to the numeric indexes. For example, changing from red 20 to red 30 may be perceived as a much different increment than changing from red 120 to red 130. So one approach is to use the geometric approach to suggest colors that are different, present them to the user, and allow the user to select the colors that are used. An enhancement would be to allow the user to "edit" the color presented to increase the difference to the colors already selected.
In image processing, high contrast colors are often used to display labeled images. That is, image that has gone thru the labeling/connected component process. In that case, to display the resultant image, we use something called "Binary Color Table", which consists of 15 different colors, that are completely different with each other. These are the colors; byte bSize = 15; // Binary palette has 15 colors, cycled 15 times. byte r[] = {255,0,0,255,255,0,255,255,127,127,0,0,255,127,127}; byte g[] = {0,255,0,255,0,255,127,0,255,0,127,255,127,255,127}; byte b[] = {0,0,255,0,255,255,0,127,0,255,255,127,127,127,255};
-
I want an array of colors which can be distinguished eaily by human. The more colors the better. At least, manually constructed array is also ok. Thanks very much.
system