Я хочу использовать 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
Да, я знаю, что, но это не значит, work.I после реконструкции с помощью алгоритма OMP выход как шумном форма или что-то подобное, но когда я запускаю код с DCT или Фурье он работает хорошо. –
@HaybertMarkarian Это очевидно, потому что если вы видите, что атомы haar-матрицы подобны квадратным волнам, то есть записи являются корнями (2), 1 или -1. И с ограниченностью ограничений ваша реконструкция будет страдать. В то время как для DCT или DFT у нас есть sin/cosine разных частот, и мы находим лучшее представление о рядах Fourier. –
@HaybertMarkarian Еще одна вещь, с матрицей haar вы получаете коэффициенты преобразования haar. В всплесках вы обычно делаете разложение на нескольких уровнях. И энергетические упаковочные свойства преобразования Хаара не очень хороши. –