📄 intrans.m
字号:
%function intrans
function [g]=intrans(f,varargin)
error(nargchk(2,4,nargin))
classin = class(f);
if strcmp(class(f), 'double') & max(f(:)) >1 & strcmp(varargin{1},'log')
f=mat2gray(f);
else
f=im2double(f);
end
method= varargin{1};
switch method
case 'neg'
g=imcomplement(f);
case 'log'
if length(varargin) == 1
c =1;
elseif length(varargin)==2
c= varargin{2};
elseif length(varargin) ==3
c= varargin{2};
classin= varargin{3};
else
error ('incorrect number of inputs for the log option.')
end
g= c*(log(1+double(f)));
case 'gamma'
if length(varargin) < 2
error('not enough input for the log option.')
end
gam=varargin{2};
g= imadjust(f,[],[],gam);
case 'stretch'
if length(varargin)==1
m=mean2(f);
E= 4.0;
elseif length(varargin) == 3
m= varargin{2};
E= varargin{3};
else error ('Incoeerct number of input for the stretch option.')
end
g = 1./(1+m./(f+eps)).^E;
otherwise
error('unknow enhancement method.')
end
g = changeclass(classin, g);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -