📄 tveq_example.m
字号:
% tveq_example.m%% Test out tveq code (TV minimization with equality constraints).%% Written by: Justin Romberg, Caltech% Email: jrom@acm.caltech.edu% Created: October 2005%% use implicit, matrix-free algorithms ? largescale = 1;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);I=double(imread('lena128.bmp'));%I=J(129:256,1:128);subplot(1,2,1);imagesc(I)colormap(gray)%imshow(I);Io=I; n = 128;N = n*n;I = I/norm(I(:));I = I - mean(I(:));x = reshape(I,N,1); % num obsK = 6500; % permutation P and observation set OMEGAP = randperm(N)';q = randperm(N/2-1)+1;OMEGA = q(1:K/2)'; % measurement matrixif (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(sqrt([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))); Ip = Ip + mean(I(:));Ip = Ip.*norm(I(:)); subplot(1,2,2);imagesc(Ip)colormap(gray)%imshow(Ip);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -