4 ms·
Would be cool to re-apply all the algorithms to HSV space and see what comes out.
by blt 13y ago
Would be cool to re-apply all the algorithms to HSV space and see what comes out.
- jacobolus 13y agoHSV is just a straight-forward transformation of RGB https://en.wikipedia.org/wiki/File:Hsl-and-hsv.svg https://en.wikipedia.org/wiki/File:Hsl-and-hsv.svg The set of “all colors” is exactly the same. (Note, HSL/HSV are not suitable representations for almost any purpose, especially not for human user interfaces; it’s a tragedy that they are in such wide use.)
- TylerE 13y agoWhjy do you say that? I find them much more intuitive. For example, getting actually brown browns with RGB is tricky...with HSV it's trivial.
- nitrogen 13y agoA rule of thumb if you have to find brown in RGB: use a bit of red, slightly less green, then a tiny bit of blue.
- andrewflnr 13y agoThat kind of proves the point. How many of those rules of thumb are you going to have to formulate to express in RGB what's trivial to find in HSV?
- nitrogen 13y agoUnfortunately I've already formulated them after working so much with RGB in low-level graphics code, pre-hsv() CSS, and some image editing software. Actually, that sounds kind of like a fun challenge game: name a color, then try to guess RGB values for that color.
- entropy_ 13y agoI've gotten pretty good at doing the reverse operation(given an RGB value, guess the color) because I'm red-green colorblind and that's how I figure out what color something is :)
- robinhouston 13y agoThe converse game exists: http://yizzle.com/whatthehex/ http://yizzle.com/whatthehex/ Edit: Actually, so does the “guess the RGB given the colour” direction, but I don’t find it as fun: http://mallory.jemts.com http://mallory.jemts.com
- roryokane 13y agojacobulus might have been referring to certain color spaces that are optimized for human use instead of for computer manipulation, such as HUSL (http://www.boronine.com/husl/ http://www.boronine.com/husl/). HUSL gives you a slider that actually changes the apparent brightness of a color to your eye: whereas HSL thinks that bright green is just as “light” as dark true blue, and HSV/HSB thinks that true blue is just as “bright” as white, HUSL colors with the same “lightness” actually do look equally light. Another human-optimized color space is CIELUV (https://en.wikipedia.org/wiki/CIELUV https://en.wikipedia.org/wiki/CIELUV).
- skeltoac 13y agoA color space is good for transforming colors along lines orthogonal to its axes. In RGB, you can't easily find another shade of a given hue. In HSV, this common task is trivial.
- lstamour 13y agoI was going to comment that HSL/HSV can be useful for generating colors that work well, but... the real problem is not luminance as much as the HSL values we commonly use. See http://en.wikipedia.org/wiki/HSL_and_HSV#Disadvantages http://en.wikipedia.org/wiki/HSL_and_HSV#Disadvantages where CIELAB L* is shown as a better representation. Though it's not perfectly matched to the human eye even so.
- jacobolus 13y ago> See http://en.wikipedia.org/wiki/HSL_and_HSV#Disadvantages http://en.wikipedia.org/wiki/HSL_and_HSV#Disadvantages Yeah, I wrote that. :-)
- lcrs 13y agoThe mapping is not one-to-one though - for example when S is 0, all values of H give the same resulting colour, and worse when V is zero both H and S are useless. So an image exploring the full HSV space should look different, probably with a lot more of the grayscale. I too have misgivings about HSV, the discontinuities created when generating hue ramps being particularly cruel. Using a rotation about the luma axis in YCbCr space gives much smoother rainbows but sadly not ones which hit all six primaries and secondaries. It's frustrating problem that perceptually H, S and V or L are what we think of when specifying a colour, but mapping them smoothly to RGB displays is so tough.