Converting saturated, bright, dark, or near-gray RGB colors to Munsell colors get an error that the specification doesn't exists on Munsell Renotation System data. #1098
lulunac27a
started this conversation in
General
Replies: 1 comment
-
Hi @lulunac27a, The behaviour you see is expected, the Munsell Renotation System is first and foremost a physical dataset that was created with real paint thus its gamut is very irregular: The consequence is that many "digital" colours simply do not exist in it, e.g. pure blue, pure red or pure black. I'm curious about the near-grey values though, it would be useful if you could send over the ones you tried that failed. Cheers, Thomas |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Description
I got an error when converting saturated RGB colors (RGB 0,0,1, blue) to Munsell color saying the specification doesn't exists on Munsell Renotation System data. I also get errors that near-gray RGB colors says chroma is not in domain from 2 to 50, and bright RGB colors like yellow (RGB 1,1,0) get an error that maximum number of iterations reached and another error that converting black color (RGB 0,0,0) get an error that the value is not in domain of 1 to 10.
Errors:
ValueError: "[ 10. 3. 22. 1.]" specification does not exists in "Munsell Renotation System" data!
rgb=[0,0,1] xyz=colour.sRGB_to_XYZ(rgb) xyy=colour.XYZ_to_xyY(xyz) munsell=colour.xyY_to_munsell_colour(xyy) print(munsell)
AssertionError: "array([ 7.73987341, 5.23531075, 0.656444 , 4. ])" specification chroma must be normalised to domain [2, 50]!
rgb=[0.5,0.5,0.5] xyz=colour.sRGB_to_XYZ(rgb) xyy=colour.XYZ_to_xyY(xyz) munsell=colour.xyY_to_munsell_colour(xyy) print(munsell)
AssertionError: "[ 5.37774567 10. nan 2. ]" specification value must be normalised to domain [1, 9]!
rgb=[1,1,1] xyz=colour.sRGB_to_XYZ(rgb) xyy=colour.XYZ_to_xyY(xyz) munsell=colour.xyY_to_munsell_colour(xyy) print(munsell)
RuntimeError: Maximum inner iterations count reached without convergence!
rgb=[1,1,0] xyz=colour.sRGB_to_XYZ(rgb) xyy=colour.XYZ_to_xyY(xyz) munsell=colour.xyY_to_munsell_colour(xyy) print(munsell)
AssertionError: "0.0" value must be normalised to domain [1, 10]!
rgb=[0,0,0] xyz=colour.sRGB_to_XYZ(rgb) xyy=colour.XYZ_to_xyY(xyz) munsell=colour.xyY_to_munsell_colour(xyy) print(munsell)
Code for Reproduction
Exception Message
Environment Information
Beta Was this translation helpful? Give feedback.
All reactions