В этом разделе рассматриваются функции дискретного вейвлет 2-D анализа с помощью программного обеспечения Wavelet Toolbox™. Панель инструментов предоставляет эти функции для анализа изображений. Дополнительные сведения см. на страницах ссылок на функции.
Примечание
В этом разделе в представлении и примерах используются массивы 2-D, соответствующие индексированным представлениям изображений. Тем не менее, описанные функции также доступны при использовании изображений truecolor, которые представлены mоколо-n-на-3 массива uint8. Дополнительные сведения о форматах изображений см. в разделе Вейвлеты: работа с изображениями.
Имя функции | Цель |
|---|---|
Отрицание вейвлет-изображения | |
Укажите значения по умолчанию для обессоливания и сжатия | |
Пенализированный порог для вейвлет 1-D или 2-D деноизирования | |
Пороговые значения для вейвлет- 2-D с использованием стратегии Birgé-Massart | |
Вейвлет-денойзинг и сжатие | |
Диспетчер параметров порога |
В этом разделе вы узнаете
Загрузка изображения
Анализ изображения
Как выполнять одноуровневые и многоуровневые декомпозиции и реконструкции изображений (только в командной строке)
Использование функций квадратного и древовидного режима (только графический интерфейс пользователя)
Увеличение детализации (только для графического интерфейса пользователя)
Сжатие изображения
В этом примере показано, как можно использовать 2-D вейвлет-анализ для эффективного сжатия изображения без ущерба для его четкости.
Примечание: Вместо непосредственного использования image(I) для визуализации изображения I, мы используем image(wcodemat(I)), которая отображает масштабированную версию I приводя к более четкому изложению деталей и приближений (см. wcodemat).
Загрузите изображение.
load wbarb whos X map
Name Size Bytes Class Attributes X 256x256 524288 double map 192x3 4608 double
Отображение изображения.
image(X) colormap(map) colorbar

Если карта цветов является гладкой, вейвлет-преобразование может быть непосредственно применено к индексированному изображению; в противном случае индексированное изображение следует преобразовать в формат градаций серого. Дополнительные сведения см. в разделе Вейвлеты: работа с изображениями. Поскольку карта цветов на этом изображении является гладкой, теперь можно выполнить разложение.
Выполните одноуровневую вейвлет-декомпозицию изображения с помощью bior3.7 вейвлет. Матрица коэффициентов cA1 - коэффициенты аппроксимации. Горизонтальные, вертикальные и диагональные детали находятся в матрицах cH1, cV1, и cD1соответственно.
wv = 'bior3.7';
[cA1,cH1,cV1,cD1] = dwt2(X,wv);Использовать idwt1 для построения приближений и деталей из коэффициентов. (Примечание: Вы также можете использовать upcoef2.
sx = size(X); A1 = idwt2(cA1,[],[],[],wv,sx); H1 = idwt2([],cH1,[],[],wv,sx); V1 = idwt2([],[],cV1,[],wv,sx); D1 = idwt2([],[],[],cD1,wv,sx);
Просмотрите аппроксимации и подробные данные.
figure subplot(2,2,1) image(wcodemat(A1,192)) title('Approximation A1') subplot(2,2,2) image(wcodemat(H1,192)) title('Horizontal Detail H1') subplot(2,2,3) image(wcodemat(V1,192)) title('Vertical Detail V1') subplot(2,2,4) image(wcodemat(D1,192)) title('Diagonal Detail D1') colormap(map)

Регенерация изображения с помощью одноуровневого обратного дискретного вейвлет-преобразования. Убедитесь, что разница между регенерированным и исходным изображениями невелика.
Xrec = idwt2(cA1,cH1,cV1,cD1,wv); max(abs(X(:)-Xrec(:)))
ans = 1.4211e-13
Выполните вейвлет-декомпозицию изображения уровня 2, используя то же самое bior3.7 вейвлет. Коэффициенты всех составляющих декомпозиции второго уровня (то есть аппроксимации второго уровня и первых двух уровней детализации) возвращаются сцепленными в один вектор, C. Аргумент S - это бухгалтерская матрица, которая отслеживает размеры каждого компонента.
[c,s] = wavedec2(X,2,wv);
Извлеките коэффициенты аппроксимации уровня 2. Извлеките коэффициенты детализации первого и второго уровня.
cA2 = appcoef2(c,s,wv,2); [cH2,cV2,cD2] = detcoef2('all',c,s,2); [cH1,cV1,cD1] = detcoef2('all',c,s,1);
Выполните реконструкцию аппроксимации уровня 2 и подробных данных уровня 1 и уровня 2.
A2 = wrcoef2('a',c,s,wv,2); H1 = wrcoef2('h',c,s,wv,1); V1 = wrcoef2('v',c,s,wv,1); D1 = wrcoef2('d',c,s,wv,1); H2 = wrcoef2('h',c,s,wv,2); V2 = wrcoef2('v',c,s,wv,2); D2 = wrcoef2('d',c,s,wv,2);
Отображение аппроксимации и подробных данных.
figure subplot(2,4,1) image(wcodemat(A1,192)) title('Approximation A1') subplot(2,4,2) image(wcodemat(H1,192)) title('Horizontal Detail H1') subplot(2,4,3) image(wcodemat(V1,192)) title('Vertical Detail V1') subplot(2,4,4) image(wcodemat(D1,192)) title('Diagonal Detail D1') subplot(2,4,5) image(wcodemat(A2,192)) title('Approximation A2') subplot(2,4,6) image(wcodemat(H2,192)) title('Horizontal Detail H2') subplot(2,4,7) image(wcodemat(V2,192)) title('Vertical Detail V2') subplot(2,4,8) image(wcodemat(D2,192)) title('Diagonal Detail D2') colormap(map)

Сжать изображение. Использовать ddencmp для расчета параметров по умолчанию и wdencmp для выполнения фактического сжатия.
[thr,sorh,keepapp] = ddencmp('cmp','wv',X); [Xcomp,CXC,LXC,PERF0,PERFL2] = ... wdencmp('gbl',c,s,wv,2,thr,sorh,keepapp);
Сравните сжатое изображение с исходным.
fprintf('Percentage of wavelet coefficients set to zero: %.4f\nPercentage of energy preserved: %.4f\n',... PERF0,PERFL2);
Percentage of wavelet coefficients set to zero: 49.8011 Percentage of energy preserved: 99.9817
figure subplot(121) image(X) title('Original Image') axis square subplot(122) image(Xcomp) title('Compressed Image') axis square colormap(map)

Следует отметить, что, даже если сжатое изображение построено только из приблизительно вдвое меньшего количества ненулевых вейвлет-коэффициентов, чем исходное, почти не обнаруживается ухудшения качества изображения.
В этом разделе рассматривается то же изображение, что и в предыдущем разделе, но для анализа изображения используется приложение Wavelet Analyzer.
Запустите 2-D Wavelet Analysis Tool.
В подсказке MATLAB ® введитеwaveletAnalyzer.
Появится главное меню Wavelet Tool.

Выберите пункт меню Wavelet 2-D. Появляется инструмент дискретного вейвлет-анализа для 2-D данных изображения.

Загрузите изображение.
В командной строке MATLAB введите
load wbarb
X переменная. Нажмите кнопку ОК, чтобы импортировать изображение.Изображение загружается в инструмент Wavelet 2-D.
Проанализируйте изображение.
Используя меню Вейвлет (Vavelet) и Уровень (Level), расположенные справа вверху, определите семейство вейвлетов, тип вейвлета и количество уровней, которые будут использоваться для анализа.
Для этого анализа выберите bior3.7 вейвлет на уровне 2.

Нажмите кнопку «Анализ». После паузы для вычислений инструмент Wavelet 2-D отображает свой анализ.

Использование элементов квадратного режима
По умолчанию анализ отображается в «Режиме квадрата» (Square Mode). Этот режим включает четыре различных дисплея. В левом верхнем углу находится исходное изображение. Ниже представлено изображение, реконструированное из различных приближений и деталей. Справа внизу находится декомпозиция, показывающая самые грубые коэффициенты приближения и все коэффициенты детализации по горизонтали, диагонали и вертикали. Наконец, в области визуализации вверху справа отображается любой компонент анализа, на который требуется обратить более пристальное внимание.
Щелкните любой компонент разложения в правом нижнем окне.
Синяя граница выделяет выбранный компонент. В правом нижнем углу окна Wavelet 2-D имеется набор из трех кнопок с надписью «Операции с выбранным изображением». Обратите внимание, что при повторном щелчке по тому же компоненту он будет снят и синяя граница исчезнет.

Нажмите кнопку Визуализация (Visualize).
Выбранное изображение отображается в области визуализации. Вы видите необработанные, необработанные 2-D вейвлет коэффициенты. С помощью других кнопок можно отобразить восстановленную версию выбранного компонента изображения или просмотреть выбранный компонент с полным разрешением экрана.
Использование функций режима дерева
Выберите Дерево (Tree) в меню Режим просмотра (View Mode).

Ваш экран изменится, чтобы показать следующее.

Это та же самая информация, показанная в квадратном режиме, с добавлением всех коэффициентов аппроксимации, но устроенная так, чтобы подчеркнуть древовидную структуру разложения. Различные кнопки и меню работают так же, как и в квадратном режиме.
Увеличение детализации
Перетащите рамку с резиновой лентой (удерживая левую кнопку мыши) над частью изображения, которое требуется увеличить.
Нажмите кнопку XY + (расположенную в нижней части экрана), чтобы увеличить изображение по горизонтали и вертикали.
![]()
Инструмент Wavelet 2-D увеличивает отображаемые изображения.
Чтобы увеличить масштаб изображения до исходного, нажмите кнопку История < < -.
Нажмите кнопку «Сжать», расположенную в правом верхнем углу окна 2-D вейвлета. Появится окно Wavelet 2-D Compression.

Инструмент автоматически выбирает пороговые уровни для обеспечения хорошего начального баланса между сохранением энергии изображения при минимизации числа коэффициентов, необходимых для представления изображения.
Однако можно также настроить пороговые значения вручную, используя параметр «По пороговому значению уровня», а затем ползунки или правки, соответствующие каждому уровню.
В этом примере выберите параметр «По пороговому значению уровня» и выберите метод «Удалить около 0» в меню метода «Выбрать пороговое значение».
Появится следующее окно.

Выберите в меню направления, требуется ли корректировать пороговые значения для горизонтальных, диагональных или вертикальных параметров. Чтобы внести фактические корректировки для каждого уровня, используйте ползунки или левую кнопку мыши для прямого перетаскивания пунктирных линий.
Чтобы сжать исходное изображение, нажмите кнопку «Сжать». После паузы для вычислений сжатое изображение отображается рядом с оригиналом. Обратите внимание, что сжатие устраняет почти половину коэффициентов, но заметного ухудшения изображения не появляется.

Показать остатки.
В инструменте «Вейвлет 2-D Сжатие» нажмите кнопку «Остатки». Появится окно More on Reseives for Vavelet 2-D Compression.
Отображаемая статистика включает в себя показатели тенденции (среднее, режим, медиана) и дисперсии (диапазон, стандартное отклонение). Кроме того, инструмент предоставляет частотно-распределительные диаграммы (гистограммы и кумулятивные гистограммы). Тот же инструмент существует для инструмента Wavelet 2-D Denoising.
Примечание
Статистика, отображаемая на приведенном выше рисунке, связана с отображаемым изображением, но не с исходным. Обычно эта информация одинакова, но в некоторых случаях эффекты краев могут привести к незначительной обрезке исходного изображения. Для просмотра точной статистики используйте функции командной строки для получения требуемого изображения, а затем примените требуемые статистические функции MATLAB.
Графический инструмент Wavelet 2-D позволяет импортировать информацию с диска и экспортировать ее на диск, если соблюдаются соответствующие форматы файлов.
Можно сохранить синтезированные изображения, коэффициенты и декомпозиции с помощью инструмента Wavelet 2-D на диск, где можно манипулировать информацией, а затем повторно импортировать ее в графический инструмент.

Сохранение синтезированных образов. Можно обработать изображение в инструменте Wavelet 2-D, а затем сохранить обработанное изображение в MAT-файл (с расширением mat или другое).
Например, загрузите пример анализа:
Файл > Пример анализа > Индексированные изображения > на уровне 3, с sym4 → Durer деталей
и выполнить сжатие исходного изображения. При закрытии окна Wavelet 2-D Compression обновите синтезированное изображение, щелкнув Да (Yes) в появившемся диалоговом окне.
Затем в инструменте Wavelet 2-D выберите пункт меню «Файл» > «Сохранить» > «Синтезированное изображение». Появится диалоговое окно, позволяющее выбрать папку и имя файла для MAT-файла (с расширением mat или другое). В этом примере выберите имя symage.
Чтобы загрузить изображение в рабочую область, введите
load symage whos
| Имя | Размер | Байты | Класс |
|---|---|---|---|
X | 359x371 | 1065512 | double array |
map | 64x3 | 1536 | double array |
valTHR | 1x1 | 8 | double array |
wname | 1x4 | 8 | char array |
Синтезированное изображение дается X и map содержит карту цветов. Кроме того, параметры процесса денойзинга или сжатия задаются именем вейвлета (wname) и глобальный порог (valTHR).
Сохранение коэффициентов дискретного вейвлет-преобразования. Инструмент Wavelet 2-D позволяет сохранить коэффициенты дискретного вейвлет-преобразования (DWT) на диске. Панель инструментов создает MAT-файл в текущей папке с выбранным именем.
Чтобы сохранить коэффициенты DWT из текущего анализа, используйте пункт меню «Файл» > «Сохранить» > «Коэффициенты».
Появится диалоговое окно, в котором можно указать папку и имя файла для хранения коэффициентов.
Рассмотрим пример анализа:
Файл > Пример анализа > Индексированные изображения > на уровне 3, с sym4 → Durer деталей
После сохранения дискретных вейвлет-коэффициентов в файл cfsdurer.mat, загрузите переменные в рабочую область:
load cfsdurer whos
| Имя | Размер | Байты | Класс |
|---|---|---|---|
coefs | 1x142299 | 1138392 | double array |
map | 64x3 | 1536 | double array |
sizes | 5x2 | 80 | double array |
valTHR | 0x0 | 0 | double array |
wname | 1x4 | 8 | char array |
Переменная map содержит карту цветов. Переменная wname содержит имя вейвлета и valTHR пуст, так как синтезированное изображение совпадает с исходным.
Переменные coefs и sizes содержат дискретные вейвлет-коэффициенты и связанные с ними размеры матрицы. Точнее, в приведенном выше примере coefs является вектором 1 на 142299 конкатенированных коэффициентов, и sizes задает длину каждого компонента.
Сохранение разложений. Инструмент Wavelet 2-D позволяет сохранить весь набор данных из дискретного вейвлет-анализа на диск. Панель инструментов создает MAT-файл в текущей папке с выбранным именем, за которым следует расширение wa2 (вейвлет-анализ 2-D).
Откройте инструмент Wavelet 2-D и загрузите пример анализа:
Файл > Пример анализа > Индексированные изображения > на уровне 3 с sym4 → Durer деталей.
Чтобы сохранить данные из этого анализа, используйте пункт меню Файл > Сохранить > Декомпозиция.
Появится диалоговое окно, в котором можно указать папку и имя файла для хранения данных разложения. Введите имя decdurer.
После сохранения данных разложения в файл decdurer.wa2, загрузите переменные в рабочую область:
load decdurer.wa2 -mat whos
| Имя | Размер | Байты | Класс |
|---|---|---|---|
coefs | 1x142299 | 1138392 | double array |
data_name | 1x6 | 12 | char array |
map | 64x3 | 1536 | double array |
sizes | 5x2 | 80 | double array |
valTHR | 0x0 | 0 | double array |
wave_name | 1x4 | 8 | char array |
Переменные coefs и sizes содержат структуру вейвлет-разложения. Другие переменные содержат имя вейвлета, карту цветов и имя файла, содержащего данные. Переменная valTHR пуст, так как синтезированное изображение совпадает с исходным.
Примечание
Опции сохранения также доступны при выполнении деноизирования или сжатия в инструменте Wavelet 2-D. В окне Вейвлет (Wavelet) 2-D Деноизирование (Denoising) можно сохранить деноизированное изображение и декомпозицию. То же самое справедливо для окна Wavelet 2-D Compression. Таким образом, можно сохранить множество различных испытаний из окон Denoising и Compression, не возвращаясь к главному окну Wavelet 2-D во время процесса точной настройки. При сохранении синтезированного сигнала, разложения или коэффициентов в MAT-файл, mat расширение файла не требуется. Аппроксимации можно сохранять отдельно для каждого уровня или сохранять их все одновременно.
В приложение Wavelet Analyzer можно загружать изображения, коэффициенты или декомпозиции. Загружаемая информация может быть ранее экспортирована из приложения Wavelet Analyzer, а затем обработана в рабочей области; или это может быть информация, первоначально созданная из командной строки.
В любом случае необходимо соблюдать строгие форматы файлов и структуры данных, используемые инструментом Wavelet 2-D, иначе при попытке загрузить информацию возникнут ошибки.

Загрузка изображений. Эта панель инструментов поддерживает только индексированные изображения. Индексированное изображение - это матрица, содержащая только целые числа от 1 до n, где n - количество цветов в изображении.
Это изображение может необязательно сопровождаться n-by-3 матрица называется map. Это карта цветов, связанная с изображением. Когда MATLAB отображает такое изображение, он использует значения матрицы для поиска требуемого цвета в этой карте цветов. Если карта цветов не задана, инструмент Wavelet 2-D использует монотонную карту цветов с max(max(X))min(min(X))+1 цвета.
Чтобы загрузить изображение, созданное в рабочем пространстве MATLAB, в инструмент Wavelet 2-D, сохраните изображение (и, при необходимости, переменную). map) в MAT-файле (с расширением mat или другое).
Например, предположим, что вы создали изображение под названием мозг и хотите проанализировать его в инструменте Wavelet 2-D. Напечатать
X = brain; map = pink(256); save myfile X map
Чтобы загрузить это изображение в инструмент Wavelet 2-D, используйте пункт меню Файл > Загрузить > Изображение.
Появится диалоговое окно, в котором можно выбрать соответствующий файл MAT для загрузки.
Примечание
Графические инструменты позволяют загрузить изображение, не содержащее целых чисел от 1 до n. Вычисления верны, поскольку действуют непосредственно на матрицу, но отображение изображения странно. Значения меньше 1 оцениваются как 1, значения больше n оцениваются как n, а действительное значение в интервале [1, n] оценивается как ближайшее целое число.
Коэффициенты, аппроксимации и детали, полученные в результате вейвлет-разложения, не являются индексированными матрицами изображения.
Чтобы отобразить эти изображения подходящим образом, инструмент Wavelet 2-D следует следующим правилам:
Восстановленные аппроксимации отображаются с помощью карты цветов map.
Коэффициенты и восстановленные детали отображаются с использованием карты цветов. map применяется к масштабированной версии матриц.
Примечание
Первая 2-D переменная, обнаруженная в файле (за исключением переменной map, который зарезервирован для карты цветов) считается изображением. Проверка переменных производится в алфавитном порядке.
Загрузка коэффициентов дискретного вейвлет-преобразования. Чтобы загрузить коэффициенты дискретного вейвлет-преобразования (DWT) в инструмент вейвлет- 2-D, сначала сохраните соответствующие данные в MAT-файле, который должен содержать по крайней мере две переменные:
coefs, вектор коэффициентов
sizes, матрица бухгалтерского учета
Для индексированного изображения матрица sizes является n+2массив -by-2:

Для цветного изображения матрица sizes является n+2-к-3:

Переменная coefs должен быть вектором конкатенированных коэффициентов DWT. coefs вектор для n-уровневое разложение содержит 3n+1 секции, состоящие из уровня -n коэффициенты аппроксимации, за которыми следуют коэффициенты детализации по горизонтали, вертикали и диагонали в указанном порядке для каждого уровня. Переменная sizes является матрицей, строки которой задают размер cAn, размер cHn (или cVn, или cDn),..., размер cH1 (или cV1, или cD1) и размер исходного изображения X. Размеры вертикальных и диагональных деталей совпадают с размерами горизонтальных деталей.
После создания или редактирования соответствующих данных в рабочей области введите
save myfile coefs sizes
Команда меню «Файл» > «Загрузка» > «Коэффициенты» инструмента «Вейвлет 2-D» используется для загрузки данных в графический инструмент.
Появится диалоговое окно, в котором можно выбрать папку и файл, в которых находятся данные.
Загрузка декомпозиций. Чтобы загрузить данные декомпозиции дискретного вейвлет-преобразования в инструмент вейвлет- 2-D, необходимо сначала сохранить соответствующие данные в MAT-файле (с расширением wa2 или другое).
MAT-файл содержит эти переменные.
| Переменная | Статус | Описание |
|---|---|---|
coefs | Необходимый | Вектор конкатенированных коэффициентов DWT |
sizes | Необходимый | Матрица, задающая размеры компонентов |
wave_name | Необходимый | Символьный вектор, определяющий имя вейвлета, используемого для разложения (например, |
map | Дополнительный |
|
data_name | Дополнительный | Символьный вектор, указывающий имя разложения |
После создания или редактирования соответствующих данных в рабочей области введите
save myfile.wa2 coefs sizes wave_name
Команда меню «Файл» > «Загрузка» > «Декомпозиция» инструмента «Вейвлет 2-D» используется для загрузки данных декомпозиции изображения.
Появится диалоговое окно, в котором можно выбрать папку и файл, в которых находятся данные.
Примечание
При загрузке изображения, разложения или коэффициентов из MAT-файла расширение этого файла является свободным. mat расширение не требуется.