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 изображение объема. Должен быть одного размера и класс с ref

Типы данных: 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) индекс, возвращенный как скалярный double, кроме тех случаев, когда A и ref имеют класс single, в этом случае ssimval имеет класс single.

Локальные значения Структурного Подобия (SSIM) индекс, возвращенный как числовой массив класса double кроме тех случаев, когда A и ref имеют класс single, в этом случае ssimmap имеет класс single. ssimmap массив одного размера с входным изображением A.

Больше о

свернуть все

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

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

Алгоритмы

Структурное Подобие (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