⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 leastsquares.m

📁 3D shape reconstruction matlab code. It used shape from defocus technique with least squares. You ca
💻 M
字号:
%
% Geometric Blind Deconvolution script
%
% Copyright 2006 Paolo Favaro (p.favaro@hw.ac.uk)
% 
% School of Engineering and Physical Sciences
% Heriot-Watt University, Edinburgh, UK
% 
% Last revision: May 2006
%
% This program can be used only for research purposes.
% This program is distributed WITHOUT ANY WARRANTY; 
% without even the implied warranty of MERCHANTABILITY 
% or FITNESS FOR A PARTICULAR PURPOSE.

clear all
close all

% set to 1 to see plots, 0 otherwise
plotfigures = 1;

Yes = 1;
No = 0;
fprintf('Shape from Defocus (Least Squares)\n');
notValid = Yes;
while notValid
    method = input(['Which method do you want to test?'...
        '\nChoose generate, learn, overlap: '],'s'); 
    notValid = ~strcmp(method,'generate')&...
        ~strcmp(method,'learn')&...
        ~strcmp(method,'overlap');
end
%%%%%%%%%%%%%%%%%%%%%
% compute operators %
%%%%%%%%%%%%%%%%%%%%%
% ni is the square patch size 
% the larger ni the slower the algorithm
notValid = Yes;
while notValid
    ni = input(['Choose the patch size '...
        '\n3(fast&noisy),5,7,9(slow&smooth): '],'s');
    notValid = ~(ni=='3')&...
        ~(ni=='5')&...
        ~(ni=='7')&...
        ~(ni=='9');
end
ni = str2num(ni);
% fix rank of operators 
ranks = ni*ni; % operator ranks
if strcmp(method,'generate')
    % compute operators when PSF is known
    Hp = generate_operators(ni,ranks);
elseif strcmp(method,'learn')
    % compute operators when PSF is unknown 
    % learning approach; non overlapping patches
    Hp = learn_operators(ni,ranks);
else
    % compute operators when PSF is unknown
    % learning approach; overlapping patches
    Hp = learn_operators_overlap(ni,ranks);
end
%%%%%%%%%%%%%%%
% load images %
%%%%%%%%%%%%%%%
load DataSet

%%%%%%%%%%%%%%%%%%
% Estimate Depth %
%%%%%%%%%%%%%%%%%%
Depth = estimate_depth(I1,I2,Hp,plotfigures);

% optional smoothing
FilteredDepth = mediansmoothing(Depth,plotfigures);

return

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -