ihaart2

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

Описание

пример

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

пример

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

пример

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

Примеры

свернуть все

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

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

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

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

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

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

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

Figure contains an axes. The axes with title Original RGB Image contains an object of type image.

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

Figure contains an axes. The axes with title Reconstructed RGB Image contains an object of type image.

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

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

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

Figure contains an axes. The axes contains an object of type image.

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

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

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

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

Figure contains an axes. The axes contains an object of type image.

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

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

Figure contains an axes. The axes contains an object of type image.

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

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

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

im = imread('cameraman.tif');

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

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

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

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

Figure contains an axes. The axes contains an object of type image.

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

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

Массивы графических процессоров
Ускорите код, запустив на графическом процессорном модуле (GPU) с помощью Parallel Computing Toolbox™.

Введенный в R2016b