run_wavefeat.m

来自「基于小波变换的特征检索算法」· M 代码 · 共 46 行

M
46
字号
function run_wavefeat(dbname)
% Run wavefeat_all with different Daubechies filters

% Number of subimages per class
nsubs = 16;	% default
if strcmp(dbname, 'v2')
    nsubs = 4;
end

disp(sprintf('Running WAVEFEAT for the database: %s', dbname));

for nlevels = 1:4
    disp(sprintf('Results for nlevels = %d\n', nlevels));
    
    for n = 1:10
	filt = sprintf('db%d', n);
	
	% Feature extraction
	[fm, fmm, fml, we] = wavefeat_all(dbname, nlevels, filt);
	
	% Compute L1 and L2 energies of subband from moments
	m1 = fm(1:2:end,:); m2 = fm(2:2:end,:);
	m2 = sqrt(m1.^2 + m2.^2);
	
	r1(n) = evalir(ranked(m1, nsubs));
	r2(n) = evalir(ranked(m2, nsubs));
	r12(n) = evalir(ranked([m1; m2], nsubs));
	
	rm(n) = evalir(ranked(fm, nsubs));
	rmm(n) = evalir(rankpd(fmm, nsubs));
	rml(n) = evalir(rankpd(fml, nsubs));
	
	rml_ed(n) = evalir(ranked(fml, nsubs));
	
	rwp(n) = evalir(rankwpd(fml, we, nsubs));
    end
    
    disp('Result for Daubechies wavelets');
    fprintf(1, 'n\t r1\t r2\t r12\t rm\t rmm\t rml\t rml_ed\t rwp\n');
    for n = 1:10
	fprintf(1, ...
		'%d\t %.2f\t %.2f\t %.2f\t %.2f\t %.2f\t %.2f\t %.2f\t %.2f\n', ...
		n,    r1(n), r2(n), r12(n),rm(n), rmm(n),rml(n),rml_ed(n),rwp(n));
    end    
end

⌨️ 快捷键说明

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