ihaart2

Обратный 2D Вейвлет - преобразование Хаара

Синтаксис

xrec = ihaart2(a,h,v,d)
xrec = ihaart2(a,h,v,d,level)
xrec = ihaart2(___,integerflag)

Описание

пример

xrec = ihaart2(a,h,v,d) возвращает обратное 2D Преобразование Хаара, xrec, для коэффициентов приближения, a, и горизонтали, вертикальных, и диагональных коэффициентов детали, h, v и d. Всеми входными параметрами, a, h, v, и d, являются выходные параметры haart2.

пример

xrec = ihaart2(a,h,v,d,level) возвращает обратное 2D Преобразование Хаара на заданном уровне.

пример

xrec = ihaart2(___,integerflag) задает, как обратное 2D Преобразование Хаара обрабатывает данные с целочисленным знаком, с помощью любого из предыдущих синтаксисов.

Примеры

свернуть все

Получите обратное 2D Преобразование Хаара изображения и просмотрите восстановленное изображение.

Загрузите изображение и получите его 2D Преобразование Хаара.

im = imread('mandrill.png');
[a,h,v,d] = haart2(im);

Используйте обратное 2D Преобразование Хаара, чтобы восстановить изображение.

xrec = ihaart2(a,h,v,d);

Сравните исходные и восстановленные изображения.

imagesc(im)
title('Original RGB Image')

figure
imagesc(uint8(xrec))
title('Reconstructed RGB Image')

Получите 2D Преобразование Хаара изображения, ограничивающего преобразование 2 уровнями.

Загрузите и просмотрите изображение оператора.

im = imread('cameraman.tif');
imagesc(im)

Получите 2D Преобразование Хаара с помощью максимального количества по умолчанию уровней.

[a,h,v,d] = haart2(im);

Восстановите изображение с помощью обратного 2D Преобразования Хаара и просмотрите изображение. Заметьте почти совершенную реконструкцию.

xrec = ihaart2(a,h,v,d);
imagesc(xrec)

Восстановите и просмотрите изображение с помощью обратного 2D Преобразования Хаара, ограниченного уровнем 2. Уровень 2 соответствует четвертой шкале, потому что шкала задана как 2j, где j является уровнем.

xrec1 = ihaart2(a,h,v,d,2);
imagesc(xrec1)

Используя меньшее количество уровней возвращает среднее значение оригинального изображения на уровне 2.

Получите 2D Преобразование Хаара изображения, ограничивающего преобразование целочисленными данными.

Загрузите изображение оператора.

im = imread('cameraman.tif');

Получите 2D Преобразование Хаара с помощью флага 'integer'.

[a,h,v,d]=haart2(im,'integer');

Восстановите изображение с помощью обратного 2D Преобразования Хаара и просмотрите изображение.

xrec = ihaart2(a,h,v,d,'integer');
imagesc(xrec)

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

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

свернуть все

Коэффициенты приближения, заданные как скаляр или матрица коэффициентов, в зависимости от уровня, к которому было вычислено 2D Преобразование Хаара. a является вывод от функции haart2. Приближение или масштабирование, коэффициенты являются lowpass представлением входа. Если a и элементы h, v, и d, являются векторами, xrec является вектором. Если a и элементы h, v и d являются матрицами, xrec является матрицей, где каждым столбцом является обратное 2D Преобразование Хаара соответствующих столбцов в a и h, v или d.

Типы данных: double

Горизонтальные коэффициенты детали уровнем, заданным как матричный или массив ячеек матриц. h является вывод от функции haart2. Если h является матрицей, 2D Преобразование Хаара было вычислено только вниз к одному уровню, более грубому в разрешении.

Типы данных: double

Вертикальные коэффициенты детали уровнем, заданным как матричный или массив ячеек матриц. v является вывод от функции haart2. Если v является матрицей, 2D Преобразование Хаара было вычислено только вниз к одному уровню, более грубому в разрешении.

Типы данных: double

Диагональные коэффициенты детали уровнем, заданным как матричный или массив ячеек матриц. d является вывод от функции haart2. Если d является матрицей, 2D Преобразование Хаара было вычислено только вниз к одному уровню, более грубому в разрешении.

Типы данных: double

Максимальный уровень, к которому можно инвертировать Преобразование Хаара, заданное как неотрицательное целое число. Если h является массивом ячеек, level меньше чем или равен length(h)-1. Если h является вектором или матрицей, level должен равняться 0 или не задан.

Обработка данных с целочисленным знаком, заданная или как 'noninteger' или как 'integer'. 'noninteger' не сохраняет данные с целочисленным знаком в 2D Преобразовании Хаара, и 'integer' сохраняет его. Опция 'integer' применяется, только если все элементы входных параметров, a, h, v, и d, с целочисленным знаком. Обратный 2D алгоритм Преобразования Хаара, однако, использует арифметику с плавающей точкой.

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

свернуть все

2D Вейвлет - преобразование Хаара, возвращенный как матрица.

Типы данных: double

Введенный в R2017b