📄 dfbimage.m
字号:
function im = dfbimage(y, gap, gridI)% DFBIMAGE Produce an image from the result subbands of DFB从DFB子带结果中产生一个图像%% im = dfbimage(y, [gap, gridI])%% Input:% y: output from DFBDEC% gap: gap (in pixels) between subbands% gridI: intensity of the grid that fills in the gap%% Output:% im: an image with all DFB subbands%% The subband images are positioned as follows % (for the cases of 4 and 8 subbands):%% 0 1 0 1% and 2 3% 2 3 4 5 6 7% Gap between subbandsif ~exist('gap', 'var') gap = 0; endl = length(y);% Intensity of the grid (default is white)if ~exist('gridI', 'var') gridI = 0; for k = 1:l m = max(abs(y{k}(:))); % m = Inf; if m > gridI gridI = m; end end % gridI = gridI * 1.1; % add extra 10% of intensityend% Add grid seperation if requiredif gap > 0 for k = 1:l y{k}(1:gap,:) = gridI; y{k}(:,1:gap) = gridI; end end% Simple case, only 2 subbandsif l == 2 im = [y{1}; y{2}]; return;end% Assume that the first subband has "horizontal" shape[m, n] = size(y{1});% The imageim = zeros(l*m/2, 2*n);% First half of subband images ("horizontal" ones)for k = 1:(l/4) im([1:m] + (k-1)*m, :) = [y{2*k-1}, y{2*k}];end% Second half of subband images ("vertical" ones)% The size of each of those subband % It must be that: p = l*m/4 and n = l*q/4[p, q] = size(y{l/2+1}); for k = 1:(l/2) im(p+1:end, [1:q] + (k-1)*q) = y{(l/2)+k};end% Finally, grid line in bottom and left% if gap > 0% im(end-gap+1:end, :) = gridI;% im(:, end-gap+1:end) = gridI;% end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -