ssim

Структурное подобие (SSIM) индексирует для измерения качества изображения

Описание

ssimval = ssim(A,ref) вычисляет структурное подобие (SSIM) индекс для полутонового изображения или объема A использование ref как ссылочное изображение.

пример

[ssimval,ssimmap] = ssim(A,ref) также возвращает локальное значение SSIM для каждого пикселя в A.

___ = ssim(A,ref,Name,Value) вычисляет SSIM, с помощью пар "имя-значение", чтобы управлять аспектами расчета.

Примеры

свернуть все

Считайте изображение в рабочую область. Создайте другую версию изображения, применив размывающийся фильтр.

ref = imread('pout.tif');
H = fspecial('Gaussian',[11 11],1.5);
A = imfilter(ref,H,'replicate');

Отобразите оба изображения как монтаж. Изображения отличаются больше всего вдоль резких высококонтрастных областей, таких как ребра решетки.

montage({ref,A})
title('Reference Image (Left) vs. Blurred Image (Right)')

Вычислите глобальное значение SSIM для изображения и локальные значения SSIM для каждого пикселя.

[ssimval,ssimmap] = ssim(A,ref);

Отобразите локальную карту SSIM. Включайте глобальное значение SSIM в заголовок фигуры. Маленькие значения локального SSIM появляются как темные пиксели в локальной карте SSIM. Области с маленьким локальным значением SSIM соответствуют областям, где размытое изображение заметно отличается от ссылочного изображения. Большие значения локального значения SSIM появляются как яркие пиксели. Области с большим локальным SSIM соответствуют универсальным областям ссылочного изображения, где размывание оказывает меньше влияния на изображение.

imshow(ssimmap,[])
title(['Local SSIM Map with Global SSIM Value: ',num2str(ssimval)])

Входные параметры

свернуть все

Отобразите, чье качество должно быть измерено в виде 2D полутонового изображения или 3-D полутонового объема.

Типы данных: single | double | int16 | uint8 | uint16

Ссылочное изображение, против которого качество измеряется в виде 2D полутонового изображения или 3-D полутонового объема, одного размера и тип данных как A

Типы данных: single | double | int16 | uint8 | uint16

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: ssim(A,ref,'DynamicRange',100)

Динамический диапазон входа отображает в виде положительной скалярной величины. Значение по умолчанию DynamicRange зависит от типа данных изображения A, и вычисляется как diff (getrangefromclassA. Например, динамическим диапазоном по умолчанию является 255 для изображений типа данных uint8, и значением по умолчанию является 1 для изображений типа данных double или single с пиксельными значениями в области значений [0, 1].

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Экспоненты для яркости, контраста и структурных условий в виде вектора с 3 элементами неотрицательных количеств формы [alpha beta gamma].

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Стандартное отклонение изотропной Гауссовой функции в виде положительного числа. Это значение используется во взвешивании пикселей окружения приблизительно пиксель для оценки локальной статистики. Это взвешивание используется, чтобы не блокировать артефакты в оценке локальной статистики.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Константы регуляризации для яркости, контраста и структурных условий в виде вектора с 3 элементами неотрицательных количеств формы [c1 c2 c3]. ssim функционируйте использует эти константы регуляризации, чтобы избежать нестабильности для областей изображений, где локальное среднее или стандартное отклонение близко к нулю. Поэтому маленькие ненулевые значения должны использоваться в этих константах.

По умолчанию,

  • C1 = (0.01*L).^2, где L заданный DynamicRange значение.

  • C2 = (0.03*L).^2, где L заданный DynamicRange значение.

  • C3 = C2/2

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Выходные аргументы

свернуть все

Индекс SSIM, возвращенный как неотрицательный номер. Тип данных ssimval double кроме тех случаев, когда A тип данных single, в этом случае ssimval имеет класс single.

Локальные значения индекса SSIM, возвращенного как числовой массив неотрицательных чисел одного размера с входным изображением, A. Тип данных ssimmap double кроме тех случаев, когда A тип данных single, в этом случае ssimmap имеет класс single.

Больше о

свернуть все

Структурный индекс подобия

Метрика качества изображения, которая оценивает визуальный удар трех характеристик изображения: яркость, контраст и структура.

Алгоритмы

Качественный индекс оценки индекса SSIM основан на расчете трех условий, а именно, термин яркости, контрастный термин и структурный термин. Полный индекс является мультипликативной комбинацией трех условий.

SSIM(x,y)=[l(x,y)]α[c(x,y)]β[s(x,y)]γ

где

l(x,y)=2μxμy+C1μx2+μy2+C1,c(x,y)=2σxσy+C2σx2+σy2+C2,s(x,y)=σxy+C3σxσy+C3

где μx, μy, σx, σy, и σxy являются локальными средними значениями, стандартными отклонениями и перекрестной ковариацией для изображений x, y. Если α = β = γ = 1 (значение по умолчанию для Exponents), и C3 = C2/2 (выбор по умолчанию C3) индекс упрощает до:

SSIM(x,y)=(2μxμy+C1)(2σxy+C2)(μx2+μy2+C1)(σx2+σy2+C2)

Ссылки

[1] Чжоу, W., А. К. Бовик, Х. Р. Шейх и Э. П. Симончелли. "Отобразите Оценку Qualifty: От Ошибочной Видимости до Структурного Подобия". Транзакции IEEE на Обработке изображений. Издание 13, Выпуск 4, апрель 2004, стр 600–612.

Введенный в R2014a