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

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

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

Три функции особенно подходят для контрастного улучшения: 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")

Figure contains an axes object. The axes object with title Original Image and Enhanced Images using imadjust, histeq, and adapthisteq contains an object of type image.

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

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")

Figure contains an axes object. The axes object with title Original Image and Enhanced Images using imadjust, histeq, and adapthisteq contains an object of type image.

Заметьте, что 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");

Figure contains 4 axes objects. Axes object 1 with title Histogram of pout.tif contains an object of type stem. Axes object 2 contains 2 objects of type image, line. Axes object 3 with title Histogram of tire.tif contains an object of type stem. Axes object 4 contains 2 objects of type image, line.

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

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

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

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

Считайте изображение с плохим контрастом в рабочую область. Затем преобразуйте изображение от цветового пространства RGB до L*a*b* цветовое пространство.

shadow = imread("lowlight_1.jpg");
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")

Figure contains an axes object. The axes object with title Original Image and Enhanced Images using imadjust, histeq, and adapthisteq contains an object of type image.

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

| |

Похожие темы