Как конфертировать из цветовой шкалы MATLAB Lab в цветовую шкалу OpenCV Lab? - PullRequest
0 голосов
/ 14 октября 2018

Я пытаюсь сэмплировать цвета в MATLAB с помощью приложения Color Thresholder , а затем использовать L * a * b в OpenCV.Но, похоже, масштабное несоответствие.Ниже приведены L * a * b в MATLAB и OpenCV:

  1. MATLAB :0 <= L <= 100;-100 <= a <= 100;и -100 <= b <= 100 </li>

MATLAB Lab Scale

OpenCV : 0 <= L <= 100;-127 <= а <= 127;и -127 <= b <= 127 </li>

в соответствии с этими двумя источниками: Источник 1 Source 2

Похоже, нам нужны следующие диапазоны L * a * b для 8-битных изображенийв OpenCV:

0 <= L <= 255;0 <= a <= 255;и 0 <= b <= 255 </p>

Как преобразовать из MATLAB в OpenCV L * a * b цветовая шкала для 8 -битовые изображения?

1 Ответ

0 голосов
/ 14 октября 2018

Matlab использует спецификации Международного цветного консорциума для представления цвета в своем наборе инструментов для обработки изображений.Спецификация для профилей ICC почти повсеместно используется для спецификации цвета и преобразования.

ICC Lab указала, что LAB используется для пространства преобразования профиля в различных разрешениях.Для 8 битов используются 8-битные значения без знака.L * отображается 0-> 0 и 100-> 255.Для a * и b * значения ограничены от -128 до +127.Таким образом, фактическое кодирование добавляет 128 к a * и b * для получения значений без знака между 0 и 255.

Представление для этих и других, более крупных размеров битов можно найти в таблицах 12 и 13 в разделе 6.3.4.2.в спецификации здесь:

http://color.org/specification/ICC1v43_2010-12.pdf

Большинство программ, таких как Photoshop, файлы Tiff и т. д., используют форматы ICC.Кроме того, функции Matlab включают в себя различные функции преобразования, такие как lab2uint8(lab), которые можно использовать для преобразования лабораторных значений с плавающей точкой в ​​их правильное представление в фиксированных размерах, таких как 8-разрядные целые числа без знака.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...