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

📄 qprec.m

📁 PDTDFB toolbox The filter bank is described in: The Shiftable Complex Directional Pyramid—Pa
💻 M
字号:
function x = qprec(p0, p1, type)% QPREC   Quincunx Polyphase Reconstruction%% 	x = qprec(p0, p1, [type])%% Input:%	p0, p1:	two qunincunx polyphase components of the image%	type:	[optional] one of {'1r', '1c', '2r', '2c'}, default is '1r'%		'1' and '2' for selecting the quincunx matrices:%			Q1 = [1, -1; 1, 1] or Q2 = [1, 1; -1, 1]%		'r' and 'c' for suppresing row or column		%% Output:%	x:	reconstructed image%% Note:%	Note that R1 * R2 = R3 * R4 = I so for example,%	upsample by R1 is the same with down sample by R2	% % See also:	QPDECif ~exist('type', 'var')    type = '1r';end% Quincunx downsampling using the Smith decomposition:%%       Q1 = R2 * D1 * R3%          = R3 * D2 * R2% and,%       Q2 = R1 * D1 * R4%          = R4 * D2 * R1%% where D1 = [2, 0; 0, 1] and D2 = [1, 0; 0, 2].% See RESAMP for the definition of the resampling matrices R's[m, n] = size(p0);switch type    case {'1r'}		% Q1 = R2 * D1 * R3	y = zeros(2*m, n);		y(1:2:end, :) = resamp(p0, 4);	y(2:2:end, [2:end, 1]) = resamp(p1, 4);		x = resamp(y, 1);        case {'1c'}		% Q1 = R3 * D2 * R2	y = zeros(m, 2*n);		y(:, 1:2:end) = resamp(p0, 1);	y(:, 2:2:end) = resamp(p1, 1);		x = resamp(y, 4);        case {'2r'}		% Q2 = R1 * D1 * R4	y = zeros(2*m, n);		y(1:2:end, :) = resamp(p0, 3);	y(2:2:end, :) = resamp(p1, 3);		x = resamp(y, 2);		    case {'2c'}		% Q2 = R4 * D2 * R1	y = zeros(m, 2*n);		y(:, 1:2:end) = resamp(p0, 2);	y([2:end, 1], 2:2:end) = resamp(p1, 2);		x = resamp(y, 3);	    otherwise	error('Invalid argument type');end

⌨️ 快捷键说明

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