我正在尝试使用matlab实现压缩感应技术,以便从更少的测量中重建图像。
到目前为止,我所做的是将图像分成8×8块,然后通过感应矩阵PHI(高斯随机矩阵)将每个块相乘,之后使用CVX或L1 Magic解码压缩块。
问题是我没有取得好成绩,所以有人可以帮助我吗?
示例代码
x=imread('greyscale_image.tiff');
x=im2double(x);
x_1blk=x(1:8,1:8);
xdct=dct2(x_1blk);
xq=xdct/quanMTX;
xq=reshape(xq,[],1);
y=phi*xq;
x0=phi.'*y;
tic
s1=l1eq_pd(x0, phi, [], y,1e-3);
toc
s1=reshape(s1,8,8);
s1=s1*quantMTX;
s1=idct2(s1);
对于psnr我得到25.000左右,而我期望得到29.000左右