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

📄 extend.m

📁 一个简单的图象去噪的算法
💻 M
字号:
function  Ae=extend(A, flag)% extend.m  extends  data  across  the   boundaries (to make other codes%           uniform and simple).% Input : A is an nxmxk array.  % Output: an expanded image (across four boundary edges)%         if flag ==1,  do Nuemann extension (zero derivative). %         if flag ~=1,  do zero extension. d=length(size(A));            % so d is the dimension of A.            										% d=2 means a one-channel 2-D image                              % d=3 means at least 2-channel 2-D image.if d==2                       %%%  so  A is a grey-leve image. [n, m]= size(A); %  define the interior of the extended. Ae(2:n+1, 2:m+1)=A;              if flag==1,                    %  Nuemann extension  % the four boundary edges Ae(1, 2:m+1)=A(1,:); Ae(n+2, 2:m+1)=A(n, :); Ae(2:n+1, 1)=A(:, 1); Ae(2:n+1, m+2)=A(:, m); % the four  corners Ae(1, 1)=A(1, 1); Ae(1, m+2)=A(1, m); Ae(n+2, 1)=A(n, 1); Ae(n+2, m+2)=A(n, m);else                           %  zero extension % the four boundary edges hz = zeros(1, m); vz = zeros(n, 1); Ae(1, 2:m+1)=hz; Ae(n+2, 2:m+1)=hz; Ae(2:n+1, 1)=vz; Ae(2:n+1, m+2)=vz;  % the four corners Ae(1, 1)=0; Ae(1, m+2)=0; Ae(n+2, 1)=0; Ae(n+2, m+2)=0;endelse                                % so d=3 -- 3-dimension.  [n, m, k]=size(A);                 %  k=3 or 2 in our applications.  %  define the interior Ae(2:n+1, 2:m+1, :)=A;             if flag==1,                        %  Nuemann extension  % the four boundary edges Ae(1, 2:m+1, :)  =A(1, :, :); Ae(n+2, 2:m+1, :)=A(n, :, :); Ae(2:n+1, 1, :)  =A(:, 1, :); Ae(2:n+1, m+2, :)=A(:, m, :); % the four corners Ae( 1, 1, :)    =A( 1, 1, :); Ae( 1, m+2, :)  =A( 1, m, :); Ae( n+2, 1, :)  =A( n, 1, :); Ae( n+2, m+2, :)=A( n, m, :); else                               %  Zero extension % the four boundary edges hz = zeros(1, m, k); vz = zeros(n, 1, k); Ae( 1, 2:m+1, :)   =hz; Ae( n+2, 2:m+1, :) =hz; Ae( 2:n+1, 1, :)   =vz; Ae( 2:n+1, m+2, :) =vz;  % the four corners corner=zeros(1, 1, k); Ae( 1, 1, :)    =corner; Ae( 1, m+2, :)  =corner; Ae( n+2, 1, :)  =corner; Ae( n+2, m+2, :)=corner;endend

⌨️ 快捷键说明

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