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

📄 intrans.m

📁 Matlab數位影音處理 影像方面的處理
💻 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 + -