Does COLOR_BGR2HSV_FULL really yield more granular hue values?

For an 8-bit image, if you pass cv2.COLOR_BGR2HSV to cv2.cvtColor(), you get back values between 0 and 179 for the Hue channel.

But if you instead pass cv2.COLOR_BGR2HSV_FULL, you get Hue values between 0 and 255.

Does that mean you get more granular Hue distinctions when using the _FULL option, since there are 256 possible values rather than only 180 possible values? Or is CV simply “scaling up” from the smaller range to produce the larger range, so the information content is essentially the same?

The full range gives you a slightly better hue resolution, but I don’t think the difference is noticeable.
The 0-179 hue range is more intuitive because the angular values (in degrees), I’m more used to it.

1 Like

use float32/float64 data if you need more precision

1 Like

Thank you for your replies!