colorChecker

X-обряд ColorChecker тестирует график

Описание

colorChecker объектно-ориентированная память положения и измерения видимых областей (ROIs) X-обряда® ColorChecker® Классический тестовый график (раньше произведенный GretagMacbath®).

Создание

Описание

пример

chart = colorChecker(A) создает colorChecker объект от входа отображает A. Входное изображение устанавливает Свойство изображения.

chart = colorChecker(A,Name,Value) управляет автоматическим обнаружением графика с помощью одних или нескольких аргументов name-value.

пример

chart = colorChecker(A,'RegistrationPoints',p) создает colorChecker объект и наборы свойство RegistrationPoints с помощью заданных точек в p.

Входные параметры

развернуть все

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Downsample',false

Downsample изображение графика для обнаружения графика в виде разделенной запятой пары, состоящей из 'Downsample' и числовой или логический 1 TRUE) или 0 ложь). Когда true, colorChecker изменяет размер изображения при сохранении соотношения сторон, таким образом, что размер самой маленькой размерности 1000. Субдискретизация включает colorChecker обнаружить график более быстро.

colorChecker использует прореженное изображение для обнаружения только. Объект вычисляет все свойства с помощью оригинального изображения.

Чувствительность обнаружения графика в виде разделенной запятой пары, состоящей из 'Sensitivity' и номер в области значений [0, 1]. Если вы устанавливаете высокое значение чувствительности, colorChecker обнаруживает больше интересных мест, с которыми можно указать тестовое изображение графика.

Типы данных: single | double

Свойства

развернуть все

Это свойство доступно только для чтения.

Протестируйте изображение графика в виде изображения RGB.

Типы данных: single | double | uint8 | uint16

Это свойство доступно только для чтения.

Положение и значения интенсивности цветовых полей в виде 24 1 вектора из структур. Каждый элемент в векторе соответствует одному ROI и содержит эти поля:

Поле Описание
ROI

Вектор 1 на 4, задающий пространственную степень ROI. Вектор имеет форму [X Y Width Height]. X и Y являются координатами верхнего левого угла ROI. Width и Height являются шириной и высотой ROI в пикселях. ROI имеет тип данных double.

ROIIntensity

Массив значений цвета в ROI. Массив имеет размерности Height-by-Width-by-3. Тип данных ROIIntensity совпадает с типом данных Image свойство.

Координаты регистрации указывают в виде 4 2 числовой матрицы. Регистрационные точки (x, y) координаты плюс-имеющий-форму (+) fiducials на внешних углах графика. Каждая строка матрицы содержит координаты для одной регистрационной точки. Задайте точки в порядке, "черном", "белом", "темная кожа", и "синевато-зеленый" согласно цвету самого близкого цветового поля.

Типы данных: double

Функции объекта

measureColorИзмерьте цветное воспроизведение с помощью тестового графика
measureIlluminantИзмерьте источник света сцены, использующий тестовый график
displayChartОтобразите тестовый график с наложенными необходимыми областями

Примеры

свернуть все

Считайте изображение графика X-Rite® ColorChecker® в рабочую область.

I = imread('colorCheckerTestImage.jpg');

Отобразите изображение.

imshow(I)
title('Captured Image of ColorChecker Chart')
text(size(I,2),size(I,1)+15,['Chart courtesy of X-Rite' char(174)], ...
    'FontSize',10,'HorizontalAlignment','right')

Figure contains an axes object. The axes object with title Captured Image of ColorChecker Chart contains 2 objects of type image, text.

Создайте colorChecker объект путем выполнения автоматического обнаружения графика на изображении.

chart = colorChecker(I)
chart = 
  colorChecker with properties:

                 Image: [1024x1541x3 uint8]
    RegistrationPoints: [4x2 double]
             ColorROIs: [24x1 struct]

Подтвердить что colorChecker объект обнаружил график правильно, отобразите график и обнаруженные ROI. Каждый ROI появляется как синий прямоугольник, сосредоточенный в соответствующем цветовом поле. Регистрационные точки появляются как красные ромбы на внешних углах графика.

displayChart(chart)

Figure Color checker test chart contains an axes object. The axes object contains 25 objects of type image, text.

Считайте изображение графика X-Rite® ColorChecker® в рабочую область.

I = imread('colorCheckerTestImage.jpg');

Отобразите изображение.

imshow(I)
title('Captured Image of ColorChecker Chart')
text(size(I,2),size(I,1)+15,['Chart courtesy of X-Rite' char(174)], ...
    'FontSize',10,'HorizontalAlignment','right')

Чертите ROI точки, которые перекрываются плюс-имеющий-форму (+) fiducials в углах графика.

blackPoint = drawpoint;
whitePoint = drawpoint;
darkSkinPoint = drawpoint;
bluishGreenPoint = drawpoint;

Объединитесь (x, y) координаты ROI точки в 4 2 матрица.

cornerPoints = [blackPoint.Position;
    whitePoint.Position;
    darkSkinPoint.Position;
    bluishGreenPoint.Position];

Создайте colorChecker объект путем определения (x, y) координаты угловых регистрационных точек.

chart = colorChecker(I,'RegistrationPoints',cornerPoints);

Подтвердить что colorChecker объект обнаружил график правильно, отобразите график и обнаруженные ROI.

displayChart(chart)

Советы

  • X-обряд произвел две версии тестового графика ColorChecker с немного отличающимися ссылочными значениями. Ссылочные значения colorChecker возразите соответствуют "После ноября 2014" версия графика.

Ссылки

[1] Фернандес, P. D. M. Ф. А. Герреро-Пенья, Т. И. Жэнь и Г. Х. Х. Леандро, "Быстрый и устойчивый несколько обнаружений ColorChecker с помощью глубоких сверточных нейронных сетей", Изображение и Вычисление Видения, Объем 81, 2019, стр 15-24.

Введенный в R2020b