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

📄 imshow.cpp

📁 matlab的可执行程序
💻 CPP
📖 第 1 页 / 共 5 页
字号:
    //
    // if (strcmp(borderPref, 'tight') & singleImage)
    //
    {
        mwArray a_ = strcmp(mwVv(borderPref, "borderPref"), _mxarray71_);
        if (tobool(a_) && tobool(a_ & mwVv(singleImage, "singleImage"))) {
            //
            // % Have the image fill the figure.
            // set(axHandle, 'Units', 'normalized', 'Position', [0 0 1 1]);
            //
            ans.EqAns(
              Nset(
                0,
                mwVarargin(
                  mwVv(axHandle, "axHandle"),
                  _mxarray61_,
                  _mxarray63_,
                  _mxarray65_,
                  _mxarray67_)));
            //
            // 
            // % The next line is so that a subsequent plot(1:10) goes back
            // % to the default axes position instead of taking up the
            // % entire figure.
            // set(figHandle, 'NextPlot', 'replacechildren');
            //
            ans.EqAns(
              Nset(
                0,
                mwVarargin(
                  mwVv(figHandle, "figHandle"), _mxarray3_, _mxarray69_)));
        } else {
        }
    //
    // end
    //
    }
    //
    // 
    // if (callTruesize)
    //
    if (tobool(mwVv(callTruesize, "callTruesize"))) {
        //
        // truesize(figHandle);
        //
        truesize(mwVarargin(mwVv(figHandle, "figHandle")));
    //
    // end
    //
    }
    //
    // 
    // if (~isempty(filename) & isempty(get(get(axHandle,'Title'),'String')))
    //
    {
        mwArray a_ = ~ isempty(mwVv(filename, "filename"));
        if (tobool(a_)
            && tobool(
                 a_
                 & isempty(
                     Nget(
                       1,
                       mwVarargin(
                         Nget(
                           1,
                           mwVarargin(
                             mwVv(axHandle, "axHandle"), _mxarray41_)),
                         _mxarray73_))))) {
            //
            // set(get(axHandle, 'Title'), 'String', filename, ...
            //
            ans.EqAns(
              Nset(
                0,
                mwVarargin(
                  Nget(1, mwVarargin(mwVv(axHandle, "axHandle"), _mxarray41_)),
                  _mxarray73_,
                  mwVv(filename, "filename"),
                  _mxarray75_,
                  _mxarray77_,
                  _mxarray9_,
                  _mxarray43_)));
        } else {
        }
    //
    // 'Interpreter', 'none', ...
    // 'Visible', 'on');
    // end
    //
    }
    //
    // 
    // if (nargout > 0)
    //
    if (nargout_ > 0) {
        //
        // % Only return handle if caller requested it.
        // h = hh;
        //
        h = mwVv(hh, "hh");
    //
    // end
    //
    }
    //
    // 
    // if (newFigure)
    //
    if (tobool(mwVv(newFigure, "newFigure"))) {
        //
        // set(figHandle, 'Visible', 'on');
        //
        ans.EqAns(
          Nset(
            0,
            mwVarargin(mwVv(figHandle, "figHandle"), _mxarray9_, _mxarray43_)));
    //
    // end
    //
    }
    mwValidateOutput(h, 1, nargout_, "h", "imshow");
    return h;
    //
    // 
    // 
    // %----------------------------------------------------------------------
    // % Subfunction ParseInputs
    // %----------------------------------------------------------------------
    // 
    //
}

//
// The function "Mimshow_ParseInputs" is the implementation version of the
// "imshow/ParseInputs" M-function from file
// "e:\matlab6.5\toolbox\images\images\imshow.m" (lines 191-511). It contains
// the actual compiled code for that M-function. It is a static function and
// must only be called from one of the interface functions, appearing below.
//
//
// function [cdata, cdatamapping, clim, map, xdata, ...
//
static mwArray Mimshow_ParseInputs(mwArray * cdatamapping,
                                   mwArray * clim,
                                   mwArray * map,
                                   mwArray * xdata,
                                   mwArray * ydata,
                                   mwArray * filename,
                                   mwArray * truesizeStr,
                                   int nargout_,
                                   mwArray varargin) {
    mwLocalFunctionTable save_local_function_table_
      = &_local_function_table_imshow;
    int nargin_ = nargin(-1, mwVarargin(varargin));
    mwArray cdata = mwArray::UNDEFINED;
    mwArray ans = mwArray::UNDEFINED;
    mwArray idx = mwArray::UNDEFINED;
    mwArray strs = mwArray::UNDEFINED;
    mwArray str = mwArray::UNDEFINED;
    mwArray defGrayMapLength = mwArray::UNDEFINED;
    //
    // ydata, filename, truesizeStr] =  ParseInputs(varargin);
    // 
    // filename = '';
    //
    *filename = _mxarray79_;
    //
    // truesizeStr = '';
    //
    *truesizeStr = _mxarray79_;
    //
    // 
    // if (get(0,'ScreenDepth') > 16)
    //
    if (mclGtBool(Nget(1, mwVarargin(_mxarray0_, _mxarray80_)), _mxarray82_)) {
        //
        // defGrayMapLength = 256;
        //
        defGrayMapLength = _mxarray83_;
    //
    // else
    //
    } else {
        //
        // defGrayMapLength = 64;
        //
        defGrayMapLength = _mxarray84_;
    //
    // end
    //
    }
    //
    // 
    // % If nargin > 1, see if there's a trailing string argument.
    // if ((nargin > 1) & (ischar(varargin{end})))
    //
    {
        mwArray a_ = nargin_ > 1;
        if (tobool(a_)
            && tobool(
                 a_
                 & feval(
                     mwValueVarargout(),
                     mlxIschar,
                     mwVarargin(
                       mwVa(varargin, "varargin").cell(
                         end(
                           mwVa(varargin, "varargin"),
                           _mxarray7_,
                           _mxarray7_)))))) {
            //
            // str = varargin{end};
            //
            str
              = mwVa(varargin, "varargin").cell(
                  end(mwVa(varargin, "varargin"), _mxarray7_, _mxarray7_));
            //
            // varargin(end) = [];  % remove string from input arg list
            //
            varargin(end(mwVa(varargin, "varargin"), _mxarray7_, _mxarray7_))
            = mwEmptySqBracket();
            //
            // strs = {'truesize', 'notruesize'};
            //
            strs = _mxarray85_;
            //
            // idx = strmatch(str, strs);
            //
            idx = strmatch(mwVv(str, "str"), mwVv(strs, "strs"));
            //
            // if (isempty(idx))
            //
            if (tobool(isempty(mwVv(idx, "idx")))) {
                //
                // error(sprintf('Unknown option string "%s"', str));
                //
                error(
                  mwVarargin(
                    sprintf(_mxarray89_, mwVarargin(mwVv(str, "str")))));
            //
            // elseif (length(idx) > 1)
            //
            } else if (mclLengthInt(mwVv(idx, "idx")) > 1) {
                //
                // error(sprintf('Ambiguous option string "%s"', str));
                //
                error(
                  mwVarargin(
                    sprintf(_mxarray91_, mwVarargin(mwVv(str, "str")))));
            //
            // else
            //
            } else {
                //
                // truesizeStr = strs{idx};
                //
                *truesizeStr = mwVv(strs, "strs").cell(mwVv(idx, "idx"));
            //
            // end
            //
            }
        } else {
        }
    //
    // end
    //
    }
    //
    // 
    // switch length(varargin)
    //
    {
        mwArray v_ = mclLengthInt(mwVa(varargin, "varargin"));
        if (switchcompare(v_, _mxarray0_)) {
            //
            // case 0
            // error('Not enough input arguments.  See HELP IMSHOW');
            //
            error(mwVarargin(_mxarray93_));
        //
        // 
        // case 1
        //
        } else if (switchcompare(v_, _mxarray7_)) {
            //
            // % IMSHOW(I)
            // % IMSHOW(RGB)
            // % IMSHOW(FILENAME)
            // 
            // if (isstr(varargin{1}))
            //
            if (tobool(
                  feval(
                    mwValueVarargout(),
                    mlxIsstr,
                    mwVarargin(mwVa(varargin, "varargin").cell(_mxarray7_))))) {
                //
                // % IMSHOW(FILENAME)
                // filename = varargin{1};
                //
                *filename = mwVa(varargin, "varargin").cell(_mxarray7_);
                //
                // [cdata,map] = imread(filename);
                //
                cdata
                = Nimread(
                    2, map, NULL, mwVarargin(mwVv(*filename, "filename")));
                //
                // xdata = (1:size(cdata,2));
                //
                *xdata
                  = colon(
                      _mxarray7_,
                      size(
                        mwValueVarargout(), mwVv(cdata, "cdata"), _mxarray8_));
                //
                // ydata = (1:size(cdata,1));
                //
                *ydata
                  = colon(
                      _mxarray7_,
                      size(
                        mwValueVarargout(), mwVv(cdata, "cdata"), _mxarray7_));
                //
                // if (isempty(map))
                //
                if (tobool(isempty(mwVv(*map, "map")))) {
                    //
                    // if (ndims(cdata) == 3) % RGB
                    //
                    if (mclEqBool(ndims(mwVv(cdata, "cdata")), _mxarray95_)) {
                        //
                        // map = [];
                        //
                        *map = _mxarray96_;
                    //
                    // else % intensity
                    //
                    } else {
                        //
                        // map = gray(defGrayMapLength);
                        //
                        *map = gray(mwVv(defGrayMapLength, "defGrayMapLength"));
                    //
                    // end
                    //
                    }
                    //
                    // cdatamapping = 'scaled';
                    //
                    *cdatamapping = _mxarray97_;
                    //
                    // if (isa(cdata, 'double'))
                    //
                    if (tobool(isa(mwVv(cdata, "cdata"), _mxarray99_))) {
                        //

⌨️ 快捷键说明

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