Цветовое пространство CIE-Lab измеряет расстояние между цветами, работает нормально.
Но преобразование данных RGB в такого рода цветовое пространство требует времени, что нежелательно для приложений реального времени (особенно для мобильных приложений).
У меня есть коды opencv и GPUImage .
коды opencv используют разницу суммы каналов RGB.
расстояние = (R1 + G1 + B1) - (R2 + G2 + B2)
GPUImage отлично работает в GPU, используя точное евклидово расстояние каждого канала.
discante = sqrt ((R1-R2) ^ 2 + (G1-G2) ^ 2 + (B1-B2) ^ 2)
в практическом сценарии (я разрабатываю приложение двусторонней фильтрации в реальном времени для мобильных телефонов), эти два метода работают аналогично. Я полагаю, что вместо преобразования цветового пространства RGB в цветовое пространство CIE-Lab было бы достаточно использовать приведенные выше методы.