haart2

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

Описание

пример

[a,h,v,d] = haart2(x) выполняет 2D дискретный вейвлет преобразовывает (DWT) Хаара матрицы, x. haart2 возвращает коэффициенты приближения, a, на самом грубом уровне. haart2 также возвращает массивы ячеек матриц, содержащих горизонталь, вертикальные, и диагональные коэффициенты детали уровнем. Если 2D Преобразование Хаара вычисляется только на одном уровне, более грубом в разрешении, то hV, и d матрицы. level по умолчанию зависит от количества строк x.

пример

[a,h,v,d] = haart2(x,level) выполняет 2D Преобразование Хаара вниз к заданному уровню.

пример

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

Примеры

свернуть все

Получите 2D Преобразование Хаара 2D данных и постройте его диагональные и горизонтальные детали уровня 1.

load xbox;
[a,h,v,d] = haart2(xbox);
imagesc(xbox)
title('Original Image')

figure
subplot(2,1,1)
imagesc(d{1})
title('Diagonal Level 1 Details')
subplot(2,1,2)
imagesc(h{1})
title('Horizontal Level 1 Details')

Покажите эффект ограничения максимального уровня 2D Преобразования Хаара на изображении.

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

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

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

[a2,h2,v2,d2] = haart2(im,2);
imagesc(a2)

Сравните 2D результаты Преобразования Хаара с помощью 'noninteger' по умолчанию отметьте и 'integer' флаг. Изображением оператора является uint8 данные, таким образом, его максимальное значение 255.

Получите Преобразование Хаара по умолчанию. Коэффициент детали приближения находится вне области значений от 0 до 255.

im = imread('cameraman.tif');
[a,h,v,d] = haart2(im);
a
a = 3.0393e+04

Получите Преобразование Хаара, ограничив его целочисленными значениями. Деталь приближения является целым числом и в области значений данных об оригинальном изображении.

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

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

свернуть все

Входной сигнал в виде 2D или 3-D матрицы действительных значений. Если x 3-D, третья размерность x должен равняться 3. Размеры строки и столбца x должна быть даже длина.

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

Максимальный уровень, к которому можно выполнить 2D Преобразование Хаара в виде положительного целого числа. Значение по умолчанию зависит от длины входного сигнала, x.

  • Если оба размеры строки и столбца x степени двойки, 2D Преобразование Хаара получено вниз к level log2(min(size(x))).

  • Если оба размеры строки и столбца x являются четными, но по крайней мере один не степень двойки, level равно floor(log2(min(size(x)/2))).

Если level больше 1, затем hV, и d массивы ячеек. Если level равно 1, затем hV, и d матрицы.

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

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

свернуть все

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

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

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

Примечание: Сгенерированный C и Код С++ всегда возвращают горизонтальные коэффициенты детали h в массиве ячеек.

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

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

Примечание: Сгенерированный C и Код С++ всегда возвращают вертикальные коэффициенты детали v в массиве ячеек.

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

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

Примечание: Сгенерированный C и Код С++ всегда возвращают диагональные коэффициенты детали d в массиве ячеек.

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

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

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

Введенный в R2017b