В этом примере показано, как повысить контрастность цветного изображения с помощью блока «Выравнивание гистограммы».
Откройте модель Simulink ®.
modelname = 'ex_blkHistEqColor.slx';
open_system(modelname)

Модель использует функцию инициализации обратного вызова InitFcn для инициализации входных параметров. Конфигурирование InitFcnна вкладке Моделирование (Modeling) щелкните Параметры модели (Model Settings) и выберите Свойства модели (Model Properties). В диалоговом окне Свойства модели (Model Properties) щелкните вкладку Обратные вызовы (Callbacks) и выберите InitFcn из списка.
InitFcn этой модели выполняет следующий код для чтения индексированного изображения и преобразования его в изображение RGB.
[X,map] = imread('shadow.tif');
shadow = ind2rgb(X,map);
Эта модель считывает входное изображение из рабочей области с помощью блока «Изображение из рабочей области» со следующими параметрами блока:
Значение: shadow
Сигнал изображения: Separate color signals
Модель извлекает информацию о яркости из цветового изображения, преобразуя его из цветового пространства RGB в цветовое пространство L * a * b *, используя блок преобразования цветового пространства со следующими параметрами:
Преобразование: sR'G'B' to L*a*b*
Сигнал изображения: Separate color signals
Значения параметра яркости L* диапазон от 0 до 100. Блок выравнивания гистограммы ожидает входные значения с плавающей запятой в диапазоне от [0, 1]. Модель нормализует значения яркости изображения с помощью блока Constant, для параметра Constant установлено значение 100 и блок «Разделить» с параметрами по умолчанию.
Для повышения контрастности изображения модель использует блок выравнивания гистограммы с параметрами по умолчанию. Блок преобразует нормализованные значения яркости во входном цветном изображении таким образом, что гистограмма выходного изображения является приблизительно однородной.
Модель использует блок Product с параметрами по умолчанию и существующий блок Constant для масштабирования яркости выходного изображения, выровненного по гистограмме, в диапазоне от 0 до 100. Затем модель преобразует выходное изображение из цветового пространства L * a * b * в цветовое пространство RGB с помощью блока преобразования цветового пространства со следующими параметрами:
Преобразование: L*a*b* to sR'G'B'
Сигнал изображения: Separate color signals
Запустите модель и проверьте изменение контраста от входного изображения к выходному изображению. Для сравнения модель отображает входное изображение и выходное изображение с помощью блоков Video Viewer. Параметр Image signal каждого блока Video Viewer имеет значение Separate Color Signals .
sim(modelname);

