2015-03-14 3 views
0

Я хочу использовать CS для восстановления изображения из меньшего количества выборок.сжимающее зондирование и вейвлет Haar

Я использую Гауссовская случайная матрица как измерительная матрица. Моя проблема заключается в Psi matrix, который я хочу быть Вейвлет Haar коэффициентов, но я не знаю, как его определить.

Я использовал DCT и Фурье основы, и она работала хорошо. Вот мой код с Фурье.

Может ли кто-нибудь сказать мне, как определить матрицу Psi как haar wavelet transform?

Заранее спасибо.

clc 
clear all 
close all 
[fn,fp]=uigetfile({'*.*'}); 
tic 
A=im2double(rgb2gray(imread([fp,fn]))); 
figure(1),imshow(A) 
xlabel('original') 
x=A(:); 
n=length(x); 
m=1900; 
Phi=randn(m,n); %Measurment Matrix 
Psi=fft(eye(n)); %sensing Matrix(or can be dct(eye(n))) 
y=Phi*x; %compressed signal 
Theta=Phi*Psi; 
%Initial Guess: y=Theta*s => s=Theta\y 
s2=Theta\y; 
%Solution 
s1=OMP(Theta, y, 1e-3); 
%Reconstruction 
x1=Psi*s1; 
figure,imshow(reshape(x1,size(A))),xlabel('OMP') 
toc 

ответ

0

Вам просто нужно создать матрицу haar соответствующих размеров. Рассмотрим эту функцию MATLAB:

function [h]=haargen(N) 
% Generating Haar Matrix 
ih=zeros(N,N); 
h(1,1:N)=ones(1,N)/sqrt(N); 
for k=1:N-1 
p=fix(log(k)/log(2)); 
q=k-(2^p); 
k1=2^p; t1=N/k1; 
k2=2^(p+1); t2=N/k2; 
for i=1:t2 
h(k+1,i+q*t1) = (2^(p/2))/sqrt(N); 
h(k+1,i+q*t1+t2) =-(2^(p/2))/sqrt(N); 
end 

конец

+0

Да, я знаю, что, но это не значит, work.I после реконструкции с помощью алгоритма OMP выход как шумном форма или что-то подобное, но когда я запускаю код с DCT или Фурье он работает хорошо. –

+0

@HaybertMarkarian Это очевидно, потому что если вы видите, что атомы haar-матрицы подобны квадратным волнам, то есть записи являются корнями (2), 1 или -1. И с ограниченностью ограничений ваша реконструкция будет страдать. В то время как для DCT или DFT у нас есть sin/cosine разных частот, и мы находим лучшее представление о рядах Fourier. –

+0

@HaybertMarkarian Еще одна вещь, с матрицей haar вы получаете коэффициенты преобразования haar. В всплесках вы обычно делаете разложение на нескольких уровнях. И энергетические упаковочные свойства преобразования Хаара не очень хороши. –

Смежные вопросы