Generate m*n visually distinct RGB colors suitable for display.


function clrs = uniqueColors( m, n, show, offset )


 Generate m*n visually distinct RGB colors suitable for display.

 Useful when more than the 6 standard 'rgbcym' colors are needed for
 display. Generate m*n colors by sampling at constant intervals in HSV in
 the H and S channels (while keeping V fixed at 1). In addition, for every
 other level of saturation the H values are offset by half an interval to
 further distinguish each color. Inspired by a blog entry by Bart Mossey
 http://fob.po8.org/node/398, HOWTO: Picking "random colors".

  clrs = uniqueColors( m, n, [show], [offset] )

  m      - number of saturation levels
  n      - number of distinct hues to use
  show   - optional display of colors
  offset - [1] offset every other row of colors

  clrs   - [m*n x 3] array of rgb colors

 EXAMPLE - standard 6 fully saturated colors
  clrs = uniqueColors(1,6,1);

 EXAMPLE - 24 colors used to plot some points
  clrs = uniqueColors(4,6,1);
  figure(2); clf; hold on; n=size(clrs,1);
  for i=1:n, plot(mod(i-1,6),i,'.','color',clrs(i,:)); end

 See also hsv2rgb, colormap, hsv, jet

 Piotr's Computer Vision Matlab Toolbox      Version 2.51
 Copyright 2014 Piotr Dollar.  [pdollar-at-gmail.com]
 Licensed under the Simplified BSD License [see external/bsd.txt]

Generated by m2html © 2003