Example 1 Compressed Sensing Code: % % % % % % % % tveq_example.m Test out tveq code (TV minimization with equality constraints). Written by: Justin Romberg, Caltech Email: [email protected] Created: October 2005 % use implicit, matrix-free algorithms ? largescale = 0; path(path, './Optimization'); path(path, './Measurements'); path(path, './Data'); % test image = 32x32 piece of cameraman's arm load camera I = camera(81:112,37:68); n = 32; % I=imread('cameraman.jpg'); % I=imresize(I,[128 128]); % [m,n]=size(I); N = n*n; % I = I/norm(I(:)); % I = I - mean(I(:)); x = reshape(I,N,1); % num obs K = 300; % permutation P and observation set OMEGA P = randperm(N)'; q = randperm(N/2-1)+1; OMEGA = q(1:K/2)'; % measurement matrix if (largescale) A = @(z) A_f(z, OMEGA, P); At = @(z) At_f(z, N, OMEGA, P); % obsevations b = A(x); % initial point x0 = At(b); else FT = 1/sqrt(N)*fft(eye(N)); A = sqrt(2)*[real(FT(OMEGA,:)); imag(FT(OMEGA,:))]; A = [1/sqrt(N)*ones(1,N); A]; At = []; % observations b = A*x; % initial point x0 = A'*b; end % tvI = sum(sum([diff(I,1,2) zeros(n,1)].^2 + [diff(I,1,1); zeros(1,n)].^2 )); % disp(sprintf('Original TV = %.3f', tvI)); time0 = clock; xp = tveq_logbarrier(x0, A, At, b, 1e-3, 5, 1e-8, 200); Ip = reshape(xp, n, n); disp(sprintf('Total elapsed time = %f secs\n', etime(clock,time0))); Results: Input Image x X in Nx1 dimension A (random projections) Y measurements Reconstructed image
© Copyright 2026 Paperzz