Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2013, 18:07   #1
dope
Новичок
Джуниор
 
Регистрация: 07.11.2013
Сообщений: 2
По умолчанию доработать код в MAtlab

Помогите дополнить алгоритм матлаб, что бы можно было вставлять свое изображение и что бы так же выводил уже обработанное изображение
код матлаб


clc;
close all;
load detfingr; %загрузка файла
nbc = size(map,1);
wname = 'sym4'; %выбор базисной функции - более полно отражает колебания в выбранном диапазоне частот и наименее чувствительна к краевым эффектам
lev = 3; %уровень разложения данных

%реализуем двумерное многоуровневое дискретное разложение данных, заданных
%матрицей X
[c,s] = wavedec2(X,lev,wname);
% c-матрица, содержащая коэффициенты аппроксимации и детализации горизонтального, вертикального и диагонального разложения.
% s-матрица, каждый из элементов которой определяет соответствующую ему
% размерность матрицы разложения на уровнях lev. Т е структура собственно
% разложения

% wdcbm2 -порог Берга-Массара для двумерных процедур шумоподавления
% параметры настройки порога
alpha =1.5; % т к производится расчёт, предназанченный для решения сжатия изображений
% prod - вектор-строка, содержащая произведения элементов каждого столбца
m = 2.7*prod(s(1,); %самый грубый коэффициент аппроксимации (*1..6)
[thr,nkeep] = wdcbm2(c,s,alpha,m);
% thr-матрица размером 3*j, содержит значения порогов для всех уровней j
% горизонтакльного, вертикального и диагонального разложений исходного
% изображения
% nkeep - вектор, содержит число коэффициентов разложения, сохраняемых в
% процессе шумоподавления и сжатия данного изображения.
% nkeep[j] =m*((lev+2-j)^alpha)

%удаление шумов и сжатие
[xd,cxd,sxd,perf0,perfl2] = wdencmp('lvd',c,s,wname,lev,thr,'h' ); % xd-результирующая матрица (Х) - после сжатия и удаления шумов. Используем жёсткую процедуру удаления шумов
colormap(pink(nbc));
subplot(2,2,1), image(wcodemat(X,nbc)),
title('Исходное изображение');
subplot (2,2,2), image(wcodemat(xd,nbc)),
title('Сжатое изображение');
xlabl = ['2-norm rec. :', num2str(perfl2)];
xlab2 = [' % - zero cfs: ',num2str(perf0), '%'];
xlabel([xlabl xlab2])
%приведены исходный и сжатый отпечатки пальца; при этом более 94 % коэффициентов обнулено, а в оставшихся сосредоточено 98 % от
%энергии всех коэффициентов разложения. Несмотря на то, что сжатие осуществлено в десятки раз, качество изображения остается вполне
%хорошим. Поэтому объем архива отпечатков пальцев для криминалистических отделов может быть существенно уменьшен.

% Извлечение коэффициентов аппроксимации и детализации
% последнего уровня
sa2 = appcoef2 (c, s, wname, 0);
sh2 = detcoef2 ('h', c, s, lev);
sv2 = detcoef2 ('v', c, s, lev);
sd2 = detcoef2 ('d', c, s, lev);
% Рисуем изображение
% и то, что осталось после разложения
figure
text(50,50,'\leftarrowПрямое вейвлет-преобразование')
text(100,50, '\leftarrowНЧ- Низкочастотное фильтрование')
text(150, 50, '\leftarrowВЧ - Высокочастотное фильтрование')

colormap(pink(nbc));
subplot (2,2,1)
image (wcodemat(sa2,nbc)), title ('sa2 - НЧ по строке и столбцу')
subplot (2,2,2)
subimage (sh2), title ('sh2 - ВЧ по строке и НЧ по столбцу')
subplot (2,2,3)
subimage (sv2), title ('sv2 - НЧ по строке и ВЧ по столбцу')
subplot (2,2,4)
subimage (sd2), title ('sd2 - ВЧ по строке и столбцу')

figure
colormap(pink(nbc));
woman_rec = waverec2 (c, s, wname);
% Восстановленные изображения
subplot(2,2,1), image (wcodemat(woman_rec,nbc)), title ('Восстановление с waverec2')
%очищенное от шумов изображение
[xd,cxd,sxd,perf0,perfl2] = wdencmp('lvd',c,s,wname,lev,thr,'s' );
subplot(2,2,2), image(wcodemat(xd,nbc)); title('Очищенное изображение')
dope вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C#. Нужно доработать код. nikitaivanov Фриланс 1 15.05.2012 20:13
Доработать код alex1808 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 18.12.2011 20:30
Доработать код ferrum88 Помощь студентам 0 23.11.2010 20:14
Доработать код Микки Microsoft Office Excel 7 31.03.2009 13:12