Считать действительно получается немало, однако не все так сложно. Для начала делаем нормальное преобразование RGB -> XYZ
После преобразования получим данные в пространстве XYZ. Потом делаем преобразование XYZ -> L*a*b, как это сделать есть википедия.
Ну а насчет того что Вы далее написали, то L*a*b имеет огромный цветовой охват и перевод в него не связан с потерями. Если перевести RGB -> LAB -> RGB, то потерь не будет.
Я так и не понял, почему автор не использовал CIE L*a*b. По-моему, это очень удобно. Когда-то делал проект кластеризации, так вот в матлабе сначала переводил в CIELAB, а потом уже использовал кластеризацию по методу k-средних для сегментации изображений. Т.к. пространство содержит две хроматических составляющих цвета и одну управляющую светлостью, то светлость выкидывал и искал расстояние по двум координатам.
Я так понимаю это возникает из-за того, что при построении кода по методу Шеннона-Фано разбиение можно сделать несколькими способами. И на одном из уровней это может привести к неоптимальности кода в целом, т.е. оптимальность на каждом шаге не дает оптимальности всей совокупности.
После преобразования получим данные в пространстве XYZ. Потом делаем преобразование XYZ -> L*a*b, как это сделать есть википедия.
Ну а насчет того что Вы далее написали, то L*a*b имеет огромный цветовой охват и перевод в него не связан с потерями. Если перевести RGB -> LAB -> RGB, то потерь не будет.
Я так понимаю это возникает из-за того, что при построении кода по методу Шеннона-Фано разбиение можно сделать несколькими способами. И на одном из уровней это может привести к неоптимальности кода в целом, т.е. оптимальность на каждом шаге не дает оптимальности всей совокупности.