Контрастные методы улучшения

Этот пример показывает несколько подходов повышения качества изображения. Три функции особенно подходят для контрастного улучшения: imadjust, histeq и adapthisteq. Этот пример сравнивает их использование для улучшения изображения истинного цвета и шкала полутонов.

Улучшите полутоновые изображения

Используя настройки по умолчанию, сравните эффективность следующих трех методов:

  • imadjust увеличивает контраст изображения путем отображения значений входного изображения интенсивности к новым значениям, таким образом, что по умолчанию 1% данных насыщается в низкой и высокой интенсивности входных данных.

  • histeq выполняет коррекцию гистограммы. Это улучшает контраст изображений путем преобразования значений в изображение интенсивности так, чтобы гистограмма выходного изображения приблизительно совпадала с заданной гистограммой (равномерное распределение по умолчанию).

  • adapthisteq выполняет ограниченную контрастом адаптивную коррекцию гистограммы. В отличие от histeq, это работает с небольшими областями данных (мозаики), а не целое изображение. Контраст каждой мозаики улучшен так, чтобы гистограмма каждой выходной области приблизительно совпадала с заданной гистограммой (равномерное распределение по умолчанию). Контрастное улучшение может быть ограничено во избежание усиления шума, который может присутствовать в изображении.

Считайте полутоновое изображение в рабочую область. Улучшите изображение с помощью трех контрастных методов корректировки.

pout = imread('pout.tif');
pout_imadjust = imadjust(pout);
pout_histeq = histeq(pout);
pout_adapthisteq = adapthisteq(pout);

Отобразите оригинальное изображение и три контрастных откорректированных изображения как монтаж.

montage({pout,pout_imadjust,pout_histeq,pout_adapthisteq},'Size',[1 4])
title("Original Image and Enhanced Images using imadjust, histeq, and adapthisteq")

Считайте второе полутоновое изображение в рабочую область и улучшите изображение с помощью трех контрастных методов корректировки.

tire = imread('tire.tif');
tire_imadjust = imadjust(tire);
tire_histeq = histeq(tire);
tire_adapthisteq = adapthisteq(tire);

Отобразите оригинальное изображение и три контрастных откорректированных изображения как монтаж.

montage({tire,tire_imadjust,tire_histeq,tire_adapthisteq},'Size',[1 4])
title("Original Image and Enhanced Images using imadjust, histeq, and adapthisteq")

Заметьте, что imadjust имел мало эффекта на изображение шины, но это вызвало радикальное изменение в случае выпячивания. Графический вывод гистограмм pout.tif и tire.tif показывает, что большинство пикселей в первом изображении сконцентрировано в центре гистограммы, в то время как в случае tire.tif, значения уже распространены между минимумом 0 и максимумом 255 таким образом препятствующих imadjust быть эффективными при корректировке контраста изображения.

figure
subplot(1,2,1)
imhist(pout)
title('Histogram of pout.tif')
subplot(1,2,2)
imhist(tire)
title('Histogram of tire.tif');

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

Концентрируясь на изображении шины, было бы предпочтительно для центра колеса остаться приблизительно в той же яркости при улучшении контраста в других областях изображения. Для этого, чтобы произойти, различное преобразование должно было бы быть применено к различным фрагментам изображения. Ограниченный Контрастом Адаптивный метод Коррекции Гистограммы, реализованный в adapthisteq, может выполнить это. Алгоритм анализирует фрагменты изображения и вычисляет соответствующие преобразования. Предел на уровне контрастного улучшения может также быть установлен, таким образом предотвратив перенасыщение, вызванное основным методом коррекции гистограммы histeq. Это - самый сложный метод в этом примере.

Улучшите цветные изображения

Контрастное улучшение цветных изображений обычно делается путем преобразования изображения в цветовое пространство, которое имеет яркость изображений как один из ее компонентов, таких как L*a*b* цветовое пространство. Контрастная корректировка выполняется на слое 'L *' яркости только, и затем изображение преобразовано назад в цветовое пространство RGB. Управление яркостью влияет на интенсивность пикселей при сохранении исходных цветов.

Считайте изображение в рабочую область. Изображение 'shadow.tif' является индексируемым изображением, поэтому преобразуйте изображение в истинный цвет (RGB) изображение. Затем преобразуйте изображение от цветового пространства RGB до L*a*b* цветовое пространство.

[X,map] = imread('shadow.tif');
shadow = ind2rgb(X,map); 
shadow_lab = rgb2lab(shadow);

Значения яркости порождают линейную оболочку столбцов от 0 до 100. Масштабируйте значения к области значений [0 1], который является ожидаемой областью значений изображений с типом данных double.

max_luminosity = 100;
L = shadow_lab(:,:,1)/max_luminosity;

Выполните три типа контрастной корректировки на канале яркости и сохраните* и b* каналы неизменный. Преобразуйте изображения назад в цветовое пространство RGB.

shadow_imadjust = shadow_lab;
shadow_imadjust(:,:,1) = imadjust(L)*max_luminosity;
shadow_imadjust = lab2rgb(shadow_imadjust);

shadow_histeq = shadow_lab;
shadow_histeq(:,:,1) = histeq(L)*max_luminosity;
shadow_histeq = lab2rgb(shadow_histeq);

shadow_adapthisteq = shadow_lab;
shadow_adapthisteq(:,:,1) = adapthisteq(L)*max_luminosity;
shadow_adapthisteq = lab2rgb(shadow_adapthisteq);

Отобразите оригинальное изображение и три контрастных откорректированных изображения как монтаж.

figure
montage({shadow,shadow_imadjust,shadow_histeq,shadow_adapthisteq},'Size',[1 4])
title("Original Image and Enhanced Images using imadjust, histeq, and adapthisteq")

Смотрите также

| |

Похожие темы