Улучшите контраст цветного изображения Используя эквализацию гистограммы

В этом примере показано, как улучшить контраст цветного изображения с помощью блока 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);

Для просмотра документации необходимо авторизоваться на сайте