📄 extension_m.m
字号:
function M_padded = extension_m(M,k)
A2=imread('1.fig');
M=rgb2gray(A2);
k=100;
% symmetric_extension - perform a symmetric extension of the signal.
%
% M_padded = symmetric_extension(M,k);
%
% M can be 1D or 2D array
% If size(M)=[n,p], the result is of size [n+2*k,p+2*k]
%
% Copyright (c) 2004 Gabriel Peyr?
if size(M,3)>1
M_padded = zeros( size(M,1)+2*k, size(M,2)+2*k, size(M,3) );
for i=1:size(M,3)
M_padded(:,:,i) = extension_m(M(:,:,i),k);
end
return;
end
n1 = size(M,1);
n2 = size(M,2);
if nb_dims(M)==1
M = M(:);
M_padded = [ M(k:-1:1); M; M(end:-1:end-k+1) ];
elseif nb_dims(M)==2
M_padded = zeros(n1+2*k,n2+2*k);
M_padded(k+1:end-k,k+1:end-k) = M;
% extension
M_padded(1:k,:) = M_padded(2*k:-1:k+1,:);
M_padded(end-k+1:end,:) = M_padded(end-k:-1:end-2*k+1,:);
M_padded(:,1:k) = M_padded(:,2*k:-1:k+1);
M_padded(:,end-k+1:end) = M_padded(:,end-k:-1:end-2*k+1);
else
error('Only supported for array of dimension less than 2.')
end
imshow(M_padded,[])
function k = nb_dims(x)
if size(x,1)==1 || size(x,2)==1
k = 1;
else
k=2;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -