В этом примере показано, как улучшить контраст цветного изображения с помощью блока Histogram Equalization.
Откройте модель 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);
Эта модель читает входное изображение из рабочей области с помощью блока Image From Workspace с этими параметрами блоков:
Значение: shadow
Сигнал изображений: Separate color signals
Модель извлекает информацию о яркости из цветного изображения путем преобразования его от цветового пространства RGB до L*a*b* цветовое пространство, использования блока Color Space Conversion этими параметрами:
Преобразование: sR'G'B' to L*a*b*
Сигнал изображений: Separate color signals
Значения параметра яркости L*
лежите в диапазоне от 0 до 100. Блок Histogram Equalization ожидает входные значения с плавающей точкой в области значений от [0, 1]. Модель нормирует значения яркости изображения при помощи блока Constant с набором параметров Постоянного значения к 100
и блок Divide параметрами по умолчанию.
Чтобы улучшить контраст изображения, модель использует блок Histogram Equalization параметрами по умолчанию. Блок преобразовывает нормированные значения яркости во входное цветное изображение, таким образом, что гистограмма выходного изображения приблизительно универсальна.
Модель использует блок продукта параметрами по умолчанию и существующий блок Constant, чтобы масштабировать яркость компенсируемого гистограммой выходного изображения к области значений от 0 до 100. Модель затем преобразует выходное изображение от L*a*b* цветовое пространство к цветовому пространству RGB с помощью блока Color Space Conversion этими параметрами:
Преобразование: L*a*b* to sR'G'B'
Сигнал изображений: Separate color signals
Запустите модель и проверьте изменение по контрасту от входного изображения до выходного изображения. Для сравнения модель отображает входное изображение и выходное изображение с помощью блоков Video Viewer. Параметр сигнала Изображений каждого блока Video Viewer устанавливается на Separate Color Signals
.
sim(modelname);