рдкрд░рд┐рдЪрдп
рддрд┐рдерд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧрдгрд┐рддреАрдп рддрд░реАрдХреЛрдВ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреА рдЧрддрд┐, рдХрдВрдкреНрдпреВрдЯрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ, рдЖрджрд┐ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд╛рд▓реЗ рдЪрд┐рддреНрд░реЛрдВ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЖрд╡реГрддреНрддрд┐ рдФрд░ рд╕реНрдерд╛рдирд┐рдХ рдбреЛрдореЗрди рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╣реИред
рдореВрд▓ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ
рдЖрд╡реГрддреНрддрд┐ рдФрд░ рд╕реНрдерд╛рдирд┐рдХ рдбреЛрдореЗрди рдореЗрдВ рд░реИрдЦрд┐рдХ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХрд╛ рдЖрдзрд╛рд░ рдХрдирд╡рд┐рдХреНрд╢рди рдкреНрд░рдореЗрдп рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрд╡реГрддреНрддрд┐ рдбреЛрдореЗрди рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдПрдХ рдПрдХреНрд╕реЗрд╕рд░реА рдлрд┐рд▓реНрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реИ рдЬреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХреЗ рд╕реЗ рдПрдл (рдпреВ, рд╡реА) рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдлрд┐рд▓реНрдЯрд░ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдПрдХреНрд╕реЗрд╕рд░реА рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдХреЗрдВрджреНрд░рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдПрдл (рдпреВ, рд╡реА) рджреНрд╡рд╛рд░рд╛ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдл (рдпреВ, рд╡реА) рдХреЗ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рдШрдЯрдХреЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХрдо рдЖрд╡реГрддреНрддрд┐ рд╡рд╛рд▓реЗ рдШрдЯрдХреЛрдВ рдХреЛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрдо-рдкрд╛рд╕ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рджреНрд╡рд┐-рдЖрдпрд╛рдореА рдлреВрд░рд┐рдпрд░ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЫрд╡рд┐рдпреЛрдВ рдФрд░ рдЙрдирдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрд╡рдзрд┐рдХ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрд╡рдзрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдорд╛рдкрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрд╕рдиреНрди рдЕрд╡рдзрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдкреНрд░рднрд╛рд╡ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ рдпреЗ рдЕрд╡рдзрд┐рдпрд╛рдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЧреИрд░-рдЕрдХреНрд╖реАрдп рднрд╛рдЧреЛрдВ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдХрд░реАрдм рд╕реНрдерд┐рдд рд╣реЛрддреА рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреЛ рдЖрдорддреМрд░ рдкрд░ рд░рд┐рдЯрд░реНрди рдПрд░рд░ рдпрд╛ рдУрд╡рд░рд▓реИрдк рдПрд░рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рдлрдВрдХреНрд╢рди рд╕рдкреНрд▓реАрдореЗрдВрдЯ рдХрд░рдХреЗ рджрдмрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдлрд╝рдВрдХреНрд╢рди f (x, y) рдФрд░ h (x, y) рдХреЗ рдЖрдХрд╛рд░ AB рдФрд░ C D. рд╣реИрдВред рд╣рдордиреЗ рджреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд╛рд░реНрдп рдХрд┐рдП рд╣реИрдВ, рджреЛрдиреЛрдВ рдЖрдпрд╛рдореЛрдВ P рдФрд░ Q рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реБрдП, z рдФрд░ f рдХреЛ g рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ред
PA + C + 1 рдФрд░ QтЙеB + D + 1
рд╣рдо P рдФрд░ Q рдХреЗ рдиреНрдпреВрдирддрдо рдорд╛рдиреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЗрди рд╢рд░реНрддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВред
рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
function PQ = paddedsize(AB, CD, PARAM) if nargin==1 PQ=2*AB; elseif nargin == 2&~ischar(CD) PQ = AB+CD ; PQ= 2 *ceil (PQ/2); elseif nargin == 2 m= max (AB); P=2^nextpow2(2*m); PQ=[P, P]; elseif nargin==3 m=max([AB CD]); P=2^nextpow2(2*m); PQ=[P, P]; else error ( ' '); end end * This source code was highlighted with Source Code Highlighter .
рдлрд╝рд┐рд▓реНрдЯрд░ H (u, v) рдХрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХрд╛рд░реНрдп F (u, v) рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдФрд░ рдХрд╛рд▓реНрдкрдирд┐рдХ рднрд╛рдЧреЛрдВ рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди H (u, v) рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдерд╛, рддреЛ рдЙрддреНрдкрд╛рдж рдХрд╛ рдЪрд░рдг рднрд╛рдЧ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЪрд░рдг рд╕рдореАрдХрд░рдг рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдЬрдЯрд┐рд▓ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдФрд░ рдХрд╛рд▓реНрдкрдирд┐рдХ рднрд╛рдЧреЛрдВ рдХреЛ рдПрдХ рд╣реА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЪрд░рдг рдХреЛрдг рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред рдРрд╕реЗ рдлрд┐рд▓реНрдЯрд░ рдХреЛ рд╢реВрдиреНрдп рдЪрд░рдг рдкрд╛рд░реА рдХреЗ рд╕рд╛рде рдлрд┐рд▓реНрдЯрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдлрдВрдХреНрд╢рди g = dftfilt ( f, H )
- рдПрдл = рдПрдлрдПрдлрдЯреА 2 ( рдПрдл, рдЖрдХрд╛рд░ ( рдПрдЪ, 1 ) , рдЖрдХрд╛рд░ ( рдПрдЪ, 2 ) ) ;
- рдЧрд┐ = рдПрдЪред * рдПрдл;
- g = рд╡рд╛рд╕реНрддрд╡рд┐рдХ ( ifft2 ( Gi ) ) ;
- рдЬреА = рдЬреА ( 1 : рдЖрдХрд╛рд░ ( рдПрдл, 1 ) , 1 : рдЖрдХрд╛рд░ ( рдПрдл, 2 ) ) ;
- рдЕрдВрдд
рд╣рдо рд╕реНрдерд╛рдирд┐рдХ рд╕реЛрдмреЗрд▓ рдлрд┐рд▓реНрдЯрд░ рдХреЗ рдЕрдиреБрд░реВрдк рдЖрд╡реГрддреНрддрд┐ рдбреЛрдореЗрди рдореЗрдВ рдПрдХ рдлрд┐рд▓реНрдЯрд░ рдПрдЪ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЫрд╡рд┐ рдХреЗ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рддрд╛ рд╣реИред
- рдлрдВрдХреНрд╢рди g = gscale ( f, varargin )
- рдпрджрд┐ рд▓рдВрдмрд╛рдИ ( рд╡реИрд░рдЧрд┐рди ) == 0
- рд╡рд┐рдзрд┐ = 'рдлреБрд▓ 8' ;
- рдЕрдиреНрдпрдерд╛
- рд╡рд┐рдзрд┐ = varargin { 1 } ;
- рдЕрдВрдд
- рдпрджрд┐ рд╕реНрдЯреНрд░реИрдореНрдк ( рдХрдХреНрд╖рд╛ ( рдПрдл ) , 'рдбрдмрд▓' ) рдФрд░ ( рдЕрдзрд┐рдХрддрдо ( рдПрдл: ) ) > 1 | рдиреНрдпреВрдирддрдо ( рдПрдл ( :) ) < 0 )
- f = mat2gray ( f ) ;
- рдЕрдВрдд
- рд╕реНрд╡рд┐рдЪ рд╡рд┐рдзрд┐
- рдорд╛рдорд▓рд╛ 'рдкреВрд░реНрдг 8'
- g = im2uint8 ( mat2gray ( double ( f ) ) ) ;
- рдорд╛рдорд▓рд╛ 'рдлреБрд▓ 16'
- g = im2uint16 ( mat2gray ( double ( f ) ) ) ;
- рдорд╛рдорд▓рд╛ 'рдорд╛рдЗрдирдореИрдХреНрд╕'
- рдХрдо = рд╡реИрд░рдЧрд┐рди { 2 } ; high = varargin { 3 } ;
- рдЕрдЧрд░ рдХрдо> 1 | рдХрдо < 0 | рдЙрдЪреНрдЪ> 1 | рдЙрдЪреНрдЪ < реж
- рддреНрд░реБрдЯрд┐ ( 'рдирд┐рдореНрди рдФрд░ рдЙрдЪреНрдЪ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛' )
- рдЕрдВрдд
- рдпрджрд┐ рд╕реНрдЯреНрд░реИрдореНрдк ( рд╡рд░реНрдЧ ( рдПрдл ) , 'рдбрдмрд▓' )
- low_in = min ( f ( :) ) ;
- high_in = max ( f ( :) ) ;
- рдлрд╛рд░рд╕реА рд╕реНрдЯреНрд░реИрдореНрдк ( рдХрдХреНрд╖рд╛ ( рдПрдл ) , 'рдпреВрдЗрдВрдЯ 8' )
- low_in = min ( f ( :) ) ./ 255 ;
- high_in = max ( f ( :) ) ./ 255 ;
- рдлрд╛рд░рд╕реА рд╕реНрдЯреНрд░реИрдореНрдк ( рд╡рд░реНрдЧ ( f ) , 'uint16' )
- low_in = min ( f ( :) ) ./ 65535 ;
- high_in = max ( f ( :) ) ./ 65535 ;
- рдЕрдВрдд
- g = imadjust ( f, [ low_in, high_in ] , [ low, high ] ) ;
- рдЕрдиреНрдпрдерд╛
- рддреНрд░реБрдЯрд┐ ( 'рдЕрдорд╛рдиреНрдп рд╡рд┐рдзрд┐ред' )
- рдЕрдВрдд
рдирд┐рдореНрди dftuv рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдЧреНрд░рд┐рдб рд╕рд░рдгреА рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рджреВрд░реА рдФрд░ рдЕрдиреНрдп рд╕рдорд╛рди рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рд╕рдорд╛рд░реЛрд╣ [ рдпреВ, рд╡реА ] = рджрдлреНрддреБрд╡ ( рдПрдо, рдПрди )
- u = 0 : ( рдПрдо ) ;
- v = 0 : ( рдПрди ) ;
- idx = find ( u> M / 2 ) ;
- u ( idx ) = u ( idx ) ;
- idy = find ( v> N / 2 ) ;
- v ( idy ) = v ( idy ) ;
- [ рд╡реА, рдпреВ ] = рдореЗрд╢рдЧреНрд░рд┐рдб ( рд╡реА, рдпреВ ) ;
- рдЕрдВрдд
рдореИрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ рдЬреЛ рдПрдХ рдХрдо-рдкрд╛рд╕ рдлрд┐рд▓реНрдЯрд░ рдмрдирд╛рддрд╛ рд╣реИред
- рд╕рдорд╛рд░реЛрд╣ [ рдПрдЪ, рдбреА ] = lpfilter ( рдкреНрд░рдХрд╛рд░ , рдПрдо, рдПрди, рдбреА 0, рдПрди )
- [ рдпреВ, рд╡реА ] = рджрдлреНрддреБрд╡ ( рдПрдо, рдПрди ) ;
- D = sqrt ( U. ^ 2 + V. ^ 2 ) ;
- рд╕реНрд╡рд┐рдЪ рдкреНрд░рдХрд╛рд░
- рдорд╛рдорд▓рд╛ 'рдЖрджрд░реНрд╢'
- рдПрдЪ = рдбрдмрд▓ ( рдбреА <= рдбреА 0 ) ;
- рдорд╛рдорд▓рд╛ 'btw'
- if nargin == 4
- рдПрди 1 рд╣реИ ;
- рдЕрдВрдд
- H = 1. / ( 1 + ( D / D0 ) ред ^ ( 2 * n ) ) ;
- рдорд╛рдорд▓рд╛ 'рдЧрд╛рдКрд╕реА'
- рдПрдЪ = рдПрдХреНрд╕рдк ( ( рдбреАред ^ 2 ) ред/ ( 2 * ( рдбреА 0 ^ 2 ) ) ) ;
- рдЕрдиреНрдпрдерд╛
- рддреНрд░реБрдЯрд┐ ( 'рдЕрдЬреНрдЮрд╛рдд рдлрд╝рд┐рд▓реНрдЯрд░ рдкреНрд░рдХрд╛рд░' ) ;
- рдЕрдВрдд
- рдЕрдВрдд
рдЕрдм рдПрдХ рд╣рд╛рдИ-рдкрд╛рд╕ рдлрд┐рд▓реНрдЯрд░ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгред
- рд╕рдорд╛рд░реЛрд╣ H = hpfilter ( рдкреНрд░рдХрд╛рд░ , рдПрдо, рдПрди, рдбреА 0, рдПрди )
- [ рдпреВ, рд╡реА ] = рджрдлреНрддреБрд╡ ( рдПрдо, рдПрди ) ;
- D = sqrt ( U. ^ 2 + V. ^ 2 ) ;
- рд╕реНрд╡рд┐рдЪ рдкреНрд░рдХрд╛рд░
- рдорд╛рдорд▓рд╛ 'рдЖрджрд░реНрд╢'
- рдПрдЪ = рдбрдмрд▓ ( рдбреА <= рдбреА 0 ) ;
- рдорд╛рдорд▓рд╛ 'btw'
- if nargin == 4
- рдПрди 1 рд╣реИ ;
- рдЕрдВрдд
- H = 1 - ( 1. / ( 1 + ( D / D0 ) ред ^ ( 2 * n ) ) ) ;
- рдорд╛рдорд▓рд╛ 'рдЧрд╛рдКрд╕реА'
- рдПрдЪ = 1 - ( рдПрдХреНрд╕рдк ( ( рдбреАред ^ 2 ) ред/ ( 2 * ( рдбреА 0 ^ 2 ) ) ) ) ;
- рдЕрдиреНрдпрдерд╛
- рддреНрд░реБрдЯрд┐ ( 'рдЕрдЬреНрдЮрд╛рдд рдлрд╝рд┐рд▓реНрдЯрд░ рдкреНрд░рдХрд╛рд░' ) ;
- рдЕрдВрдд
- рдЕрдВрдд
рдФрд░ рдЙрдкрд░реЛрдХреНрдд рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЫрд╡рд┐рдпреЛрдВ рдХреА рд╕реНрдкрд╖реНрдЯрддрд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реАред
- img = imread ( 'D: \ Photo \ nature.jpg' ) ;
- red = img ( :,:, 1 ) ;
- F = fft2 ( img ) ;
- рдПрд╕ = fftshift ( рд▓реЙрдЧ ( 1 + рдПрдмреНрд╕ ( рдПрдл ) ) ) ;
- рдПрд╕ = gscale ( рдПрд╕ ) ;
- imshow ( img ) , рдлрд┐рдЧрд░ , imshow ( S ) ;
- PQ = рдЧрджреНрджреЗрджрд╛рд░ ( рдЖрдХрд╛рд░ ) ( рд▓рд╛рд▓ ) ;
- [ рдпреВ, рд╡реА ] = рджрдлреНрддреБрд╡ ( рдкреАрдХреНрдпреВ ( рез ) , рдкреАрдХреНрдпреВ ( реи ) ) ;
- рдбреА 0 = 0.05 * рдкреАрдХреНрдпреВ ( 2 ) ;
- рдПрдл = рдПрдлрдЯреА 2 ( рд▓рд╛рд▓, рдкреАрдХреНрдпреВ ( 1 ) , рдкреАрдХреНрдпреВ ( 2 ) ) ;
- H = exp ( - ( U. ^ 2 + V. ^ 2 ) / ( 2 * ( D0 ^ 2 ) ) ) ;
- g = dftfilt ( рд▓рд╛рд▓, рдПрдЪ ) ;
- рдЖрдХреГрддрд┐ , рдЗрдорд╢реЛ ( fftshift ( H ) , [ ] ) ;
- рдЖрдХреГрддрд┐ , рдореЗрд╖ ( H ( 1 : 10 : 500 , 1 : 10 : 500 ) )
- рдЕрдХреНрд╖ ( [ 0 50 0 50 0 1 ] )
- Colormap ( рдЧреНрд░реЗ )
- рдЧреНрд░рд┐рдб рдмрдВрдж
- рдзреБрд░реА
- рджреГрд╢реНрдп ( - реирел , реж )
- H = fftshift ( hpfilter ( ' рдЧреЙрд╕рд┐рдпрди ' , 500 , 500 , 50 ) ) ;
- рдореЗрд╢ ( H ( 1 : 10 : 500 , 1 : 10 : 500 ) )
- рдЕрдХреНрд╖ ( [ 0 50 0 50 0 1 ] )
- рдХреЙрд▓реЛрд░реНрдореИрдк ( [ 0 0 0 ] )
- рдЧреНрд░рд┐рдб рдмрдВрдж
- рдзреБрд░реА
- рджреГрд╢реНрдп ( - резремрей , ремрек )
- рдЪрд┐рддреНрд░рд╛ , imshow ( рдПрдЪ, [ ] ) ;
- PQ = рдЧрджреНрджреЗрджрд╛рд░ ( рдЖрдХрд╛рд░ ) ( рд▓рд╛рд▓ ) ;
- рдбреА 0 = 0.05ред * рдкреАрдХреНрдпреВ ( 1 ) ;
- рдПрдЪ = hpfilter ( ' рдЧреЙрд╕рд┐рдпрди ' , PQ ( 1 ) , PQ ( 2 ) , D0 ) ;
- g = dftfilt ( рд▓рд╛рд▓, рдПрдЪ ) ;
- рдЪрд┐рддреНрд░рд╛ , рдЗрдорд╢реЛ ( рдЬреА, [ 0 255 ] ) ;
- PQ = рдЧрджреНрджреЗрджрд╛рд░ ( рдЖрдХрд╛рд░ ) ( рд▓рд╛рд▓ ) ;
- рдбреА 0 = 0.05ред * рдкреАрдХреНрдпреВ ( 1 ) ;
- HBW = hpfilter ( 'btw' , PQ ( 1 ) , PQ ( 2 ) , D0, 2 ) ;
- рдПрдЪ = 0.5 + 2 * рдПрдЪрдмреАрдбрдмреНрд▓реНрдпреВ;
- gbw = dftfilt ( рд▓рд╛рд▓, HBW ) ;
- gbw = gscale ( gbw ) ;
- ghf = dftfilt ( рд▓рд╛рд▓, рдПрдЪ ) ;
- gbf = gscale ( ghf ) ;
- img1 = рд╣рд┐рд╕реНрдЯреЗрдХ ( рд▓рд╛рд▓, 256 ) ;
- ghe = histeq ( ghf, 256 ) ;
- рдЪрд┐рддреНрд░рд╛ , imshow ( рд▓рд╛рд▓ ) ;
- рдЪрд┐рддреНрд░рд╛ , imshow ( рдШреА, [ ] ) ;
- рдЪрд┐рддреНрд░рд╛ , imshow ( img1, [ ] ) ;
**** рдХрд╛рдо рдХреЗ рдЙрджрд╛рд╣рд░рдг ****









рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо
