亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? grabit.m

?? 用于獲得圖片上曲線的數值
?? M
?? 第 1 頁 / 共 5 頁
字號:
        'value'           , 0, ...        'backgroundcolor' , handles.bgcolor3, ...        'string'          , 'Calibrate');      handles.curTitle = '';      set(get(handles.ImageAxis, 'title'), 'string', '');                  handles.curPointer          = 'arrow';      set(handles.GrabitGUI, ...        'WindowButtonMotionFcn' , {@pointerFcn, handles, handles.curPointer});                 set([handles.LoadImageBtn, ...          handles.SaveAs, ...          handles.Rename, ...          handles.Delete], ...        'enable', 'on');            % calibration was prematurely stopped, so reset all values      set(handles.CalibPtsH, 'xdata', NaN, 'ydata', NaN);      handles.CalibVals = [];      handles.CalibPts = [NaN, NaN, NaN, NaN];      handles.CalibPtsIm = repmat(NaN, 4, 2);      set([handles.hXoValue, handles.hXmValue, ...          handles.hYoValue, handles.hYmValue], ...        'string', ' NaN');            set(handles.GrabPointsBtn, 'enable', 'off');      set(handles.CoordinateEdit, 'visible', 'off');            % change state to NORMAL      handles.state = 'normal';  endendguidata(obj, handles);%--------------------------------------------------------------------------%--------------------------------------------------------------------------% grabPointsFcn%--------------------------------------------------------------------------%--------------------------------------------------------------------------function grabPointsFcn(varargin)% this function is used to extract data points by prompting the user to% select points on the image.obj = varargin{1};handles = guidata(obj);switch get(obj, 'value')  case 0  % initiate point grabbing    calib = handles.CalibVals;        axes(handles.ImageAxis);    set(handles.ImageAxis, ...      'xlim', handles.ImLimits(1,:), ...      'ylim', handles.ImLimits(2,:));    set(handles.ImageLine, 'xdata', NaN, 'ydata', NaN);    handles.curTitle = {'Grab points by clicking on data points.', ...    '<BACKSPACE> or <DEL> to delete previous point. <ENTER> to finish.'};    set(get(handles.ImageAxis, 'title'), ...      'string', handles.curTitle);        set(handles.PreviewLine, 'xdata', NaN, 'ydata', NaN);    set(handles.PreviewAxis, ...      'xlim', [min([calib.Xo calib.Xm]) max([calib.Xo calib.Xm])], ...      'ylim', [min([calib.Yo calib.Ym]) max([calib.Yo calib.Ym])]);        handles.ImDat   = [];    handles.TrueDat = [];        handles.curPointer          = 'crosshair';    set(handles.GrabitGUI, ...      'WindowButtonMotionFcn', {@pointerFcn, handles, handles.curPointer});            set(obj, ...      'value'           , 1, ...      'string'          , 'Grabbing Points (0)', ...      'backgroundcolor' , handles.bgcolor4);    set([handles.CalibrateImageBtn, ...        handles.LoadImageBtn, ...        handles.SaveAs, ...        handles.Rename, ...        handles.Delete], ...      'enable', 'off');    % change state to GRAB    handles.state = 'grab';      case 1  % finish point grabbing    set(obj, ...      'value'           , 0, ...      'string'          , 'Grab Points', ...      'backgroundcolor' , handles.bgcolor1);    handles.curTitle = '';    set(get(handles.ImageAxis, 'title'), 'string', '');    handles.curPointer            = 'arrow';    set(handles.GrabitGUI, 'WindowButtonMotionFcn', {@pointerFcn, handles, handles.curPointer});    set(handles.CalibrateImageBtn, 'enable', 'inactive');    set([handles.LoadImageBtn, ...        handles.SaveAs, ...        handles.Rename, ...        handles.Delete], ...      'enable', 'on');    if ~isempty(handles.TrueDat) % some points were grabbed      varNames                          = fieldnames(handles.savedVars);      varNames{end + 1}                 = findNextVarNameFcn(varNames);      handles.savedVars.(varNames{end}) = handles.TrueDat;      assignin('base', varNames{end}, handles.savedVars.(varNames{end}));      showAllVarsFcn(handles);    end        % change to NORMAL state    handles.state = 'normal';end  guidata(obj, handles);%--------------------------------------------------------------------------%--------------------------------------------------------------------------% showAllVarsFcn%--------------------------------------------------------------------------%--------------------------------------------------------------------------function showAllVarsFcn(handles)% this function shows all data set variables that exist in the GRABIT% workspace in the variable listbox.varNames = fieldnames(handles.savedVars);if isempty(varNames)  listboxStr = {''};else  for id = 1:length(varNames)    [m, n] = size(handles.savedVars.(varNames{id}));    listboxStr{id} = sprintf('%s [%dx%d]', varNames{id}, m, n);  endendset(handles.VariableList, 'string', listboxStr, 'value', length(listboxStr));%--------------------------------------------------------------------------%--------------------------------------------------------------------------% findNextVarNameFcn%--------------------------------------------------------------------------%--------------------------------------------------------------------------function newVarName = findNextVarNameFcn(varNames)% this helper function determines the next available variable name by% checking the existing variable names in the base workspace and GRABIT% workspace.wsVarNames = evalin('base', 'who');vars = unique([wsVarNames(:); varNames(:)]);idx = 1;while 1  if isempty(strmatch(sprintf('Data%03d', idx), vars, 'exact'))    newVarName = sprintf('Data%03d', idx);    return;  else    idx = idx + 1;  endend%--------------------------------------------------------------------------%--------------------------------------------------------------------------% zoomBtnFcn%--------------------------------------------------------------------------%--------------------------------------------------------------------------function zoomBtnFcn(varargin)% this function toggles the zoom stateobj = varargin{1};handles = guidata(obj);switch get(obj, 'value')  case 0    set(obj, ...      'value'          , 1, ...      'backgroundcolor', handles.bgcolor4, ...      'cdata'          , handles.zoomIconDown);    udata.titlestring = get(get(handles.ImageAxis, 'Title'), 'string');    udata.btnstate = get([handles.LoadImageBtn, ...        handles.CalibrateImageBtn, ...        handles.GrabPointsBtn, ...        handles.VariableList, ...        handles.SaveAs, ...        handles.Rename, ...        handles.Delete],'enable');    udata.imgstate = get(handles.ImageAxis, 'ButtonDownFcn');    udata.handlevisibility = get(handles.ImageAxis, 'handlevisibility');    set(obj, 'userdata', udata);        set(get(handles.ImageAxis, 'Title'), 'string', 'Zoom ON');    set([handles.LoadImageBtn, ...        handles.CalibrateImageBtn, ...        handles.GrabPointsBtn, ...        handles.VariableList, ...        handles.SaveAs, ...        handles.Rename, ...        handles.Delete], 'enable', 'off');    set(handles.ImageAxis, 'ButtonDownFcn', '');    zoom('on');    handles.curPointerData.CData   = get(handles.GrabitGUI, 'PointerShapeCData');    handles.curPointerData.HotSpot = get(handles.GrabitGUI, 'PointerShapeHotSpot');    set(handles.GrabitGUI, ...      'PointerShapeCData'     , handles.zoomPointer, ...      'PointerShapeHotSpot'   , handles.zoomPointerHotSpot, ...      'WindowButtonMotionFcn' , {@pointerFcn, handles, 'custom'}, ...      'keypressfcn'           , ';'); % this prevents switching to command window    % this seems necessary in some versions of Matlab    set(handles.ImageAxis, 'handlevisibility', 'on');    case 1    set(obj, ...      'value', 0, ...      'backgroundcolor', handles.bgcolor3, ...      'cdata', handles.zoomIconUp);    zoom('off');        %----------------------------------------------------------------------    % If zoom created a compact view window, expand it to fill the whole    % axes.    %----------------------------------------------------------------------    xl = get(handles.ImageAxis, 'xlim'); xrng = diff(xl);    yl = get(handles.ImageAxis, 'ylim'); yrng = diff(yl);    if abs(yrng/xrng - handles.imAxRatio) > .01 % wrong axes ratio      if yrng/xrng > handles.imAxRatio        xrng = yrng / handles.imAxRatio;        xl   = mean(xl) + [-0.5, 0.5] * xrng;      else        yrng = xrng * handles.imAxRatio;        yl   = mean(yl) + [-0.5, 0.5] * yrng;      end      set(handles.ImageAxis, 'xlim', xl, 'ylim', yl);    end    %----------------------------------------------------------------------        udata = get(obj, 'userdata');    set(get(handles.ImageAxis, 'Title'), 'string', udata.titlestring);    set(handles.ImageAxis, 'handlevisibility', udata.handlevisibility);    set([handles.LoadImageBtn, ...        handles.CalibrateImageBtn, ...        handles.GrabPointsBtn, ...        handles.VariableList, ...        handles.SaveAs, ...        handles.Rename, ...        handles.Delete], {'enable'}, udata.btnstate);    set(handles.ImageAxis, 'ButtonDownFcn', udata.imgstate);    set(handles.GrabitGUI, ...      'PointerShapeCData'     , handles.curPointerData.CData, ...      'PointerShapeHotSpot'   , handles.curPointerData.HotSpot, ...      'WindowButtonMotionFcn' , {@pointerFcn, handles, handles.curPointer}, ...      'keypressfcn'           , @keyPressFcn);endguidata(obj, handles);%--------------------------------------------------------------------------%--------------------------------------------------------------------------% pointerFcn%--------------------------------------------------------------------------%--------------------------------------------------------------------------function pointerFcn(varargin)% this changes the pointer based on whether the cursor is in the image% axes.[handles, ptr] = splitvar(varargin(3:4));pt = get(handles.ImageAxis, 'CurrentPoint');xl = get(handles.ImageAxis, 'xlim');yl = get(handles.ImageAxis, 'ylim');if pt(1,1) > xl(1) && pt(1,1) < xl(2) && pt(1,2) > yl(1) && pt(1,2) < yl(2)  set(handles.GrabitGUI, 'pointer', ptr);else  set(handles.GrabitGUI, 'pointer', 'arrow');end%--------------------------------------------------------------------------%--------------------------------------------------------------------------% figResize%--------------------------------------------------------------------------%--------------------------------------------------------------------------function figResizeFcn(varargin)% this function makes sure the axis fills the whole axes extentobj = varargin{1};handles = guidata(obj);axis(handles.ImageAxis, 'equal');handles.imAxRatio = diff(get(handles.ImageAxis, 'ylim')) / ...  diff(get(handles.ImageAxis, 'xlim'));handles.ImLimits = [get(handles.ImageAxis, 'xlim'); ...    get(handles.ImageAxis, 'ylim')];guidata(obj, handles);%--------------------------------------------------------------------------%--------------------------------------------------------------------------% keyPressFcn%--------------------------------------------------------------------------%--------------------------------------------------------------------------function keyPressFcn(varargin)% this is for the keyboard shortcuts. During 'grab' mode, <backspace>% deletes the last point clicked and <return> ends the 'grab' mode.obj = varargin{1};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情一区在线观看| 国内精品不卡在线| 久久国产精品99精品国产| 成人三级伦理片| 欧美日韩中文精品| 亚洲欧美影音先锋| 国产一区二区精品久久| 色婷婷综合激情| 国产农村妇女毛片精品久久麻豆| 亚洲电影一级黄| 成a人片国产精品| 亚洲精品一线二线三线| 日韩综合小视频| 欧美性生活一区| 中文字幕永久在线不卡| 国产+成+人+亚洲欧洲自线| 亚洲精品中文在线影院| 国产成人综合精品三级| 欧美伦理电影网| 伊人色综合久久天天| 成人精品免费视频| 久久嫩草精品久久久久| 免费一级片91| 欧美精品少妇一区二区三区| 亚洲黄色片在线观看| 99riav久久精品riav| 国产喂奶挤奶一区二区三区| 久久se这里有精品| 精品日韩一区二区三区免费视频| 午夜久久久久久电影| 色综合久久综合网欧美综合网| 欧美国产日韩亚洲一区| 懂色av一区二区三区免费观看| 欧美一区二区三区在线视频| 日韩精品视频网| 88在线观看91蜜桃国自产| 亚洲v精品v日韩v欧美v专区| 欧美午夜宅男影院| 亚洲bdsm女犯bdsm网站| 在线观看91精品国产入口| 亚洲图片自拍偷拍| 7777精品久久久大香线蕉| 日韩黄色在线观看| 精品久久久久久无| 国产精品亚洲一区二区三区妖精| 日本一区二区免费在线观看视频| 懂色av一区二区三区免费观看| 中文幕一区二区三区久久蜜桃| 岛国精品在线播放| 亚洲精品乱码久久久久久久久| 欧洲在线/亚洲| 蜜桃一区二区三区在线| 国产亚洲综合av| av网站免费线看精品| 亚洲蜜臀av乱码久久精品| 欧美日韩黄色影视| 韩国精品主播一区二区在线观看 | 欧美精品一区二区蜜臀亚洲| 国产一区二区女| 国产精品超碰97尤物18| 色香色香欲天天天影视综合网| 亚洲一区二区偷拍精品| 日韩欧美一级二级三级| 国产精品456| 亚洲国产毛片aaaaa无费看| 日韩精品中文字幕一区二区三区| 国产激情91久久精品导航| 亚洲三级电影全部在线观看高清| 欧美亚男人的天堂| 国产精品一区2区| 亚洲女同一区二区| 欧美变态凌虐bdsm| 色综合天天综合给合国产| 日韩高清在线电影| 国产精品人人做人人爽人人添| 欧美三区在线视频| 国产一区二区免费看| 一区二区三区在线免费| 久久久亚洲午夜电影| 91黄色免费版| 国产老女人精品毛片久久| 亚洲精品少妇30p| 久久久久久97三级| 91精品国产福利在线观看| 色综合久久中文综合久久97| 久久se精品一区精品二区| 亚洲综合清纯丝袜自拍| 国产日韩av一区| 日韩欧美中文字幕一区| 91在线观看美女| 国产自产v一区二区三区c| 亚洲一卡二卡三卡四卡无卡久久| 久久欧美一区二区| 欧美挠脚心视频网站| 91一区二区三区在线播放| 黄页网站大全一区二区| 性欧美疯狂xxxxbbbb| 国产精品动漫网站| 国产午夜精品理论片a级大结局| 欧美日韩国产成人在线免费| 成人免费视频免费观看| 激情综合网天天干| 日日夜夜精品免费视频| 亚洲小少妇裸体bbw| 亚洲欧美日韩国产综合| 欧美激情一区在线| 久久久久久久网| wwwwww.欧美系列| 日韩一区二区三免费高清| 欧美卡1卡2卡| 欧美在线观看一区二区| 色综合久久中文综合久久牛| 99精品国产热久久91蜜凸| www.在线欧美| 99视频精品在线| 成人久久18免费网站麻豆| 国产成人精品三级| 成人性生交大片免费看在线播放 | 欧美国产精品中文字幕| 国产亚洲精久久久久久| 久久综合久久综合亚洲| 久久久精品影视| 久久精品人人爽人人爽| 久久精品一区二区三区四区| 久久久久亚洲蜜桃| 久久嫩草精品久久久精品| 日韩免费在线观看| 久久久久久久综合色一本| 国产亚洲美州欧州综合国| 国产偷国产偷精品高清尤物| 国产亚洲成aⅴ人片在线观看| 国产片一区二区三区| 国产精品久久久久三级| 一个色综合av| 日韩在线播放一区二区| 久久成人免费网| jlzzjlzz欧美大全| 欧美综合天天夜夜久久| 日韩一区二区三区视频在线| 久久精品一区二区三区不卡牛牛| 中文字幕不卡三区| 亚洲小说欧美激情另类| 久久精品国产精品亚洲红杏| 国产九色精品成人porny | 自拍偷在线精品自拍偷无码专区| 中文字幕在线不卡一区二区三区| 一区二区在线观看视频在线观看| 亚洲不卡av一区二区三区| 精品无码三级在线观看视频| 国产91精品免费| 欧美日韩在线精品一区二区三区激情| 欧美三级电影精品| 国产亚洲综合在线| 亚洲午夜一区二区三区| 狠狠狠色丁香婷婷综合激情| 99久精品国产| 日韩一区二区不卡| 中文字幕五月欧美| 奇米888四色在线精品| 丁香亚洲综合激情啪啪综合| 欧美日韩综合一区| 久久精品欧美一区二区三区麻豆| 亚洲愉拍自拍另类高清精品| 久久精品国产亚洲a| 91麻豆国产精品久久| 精品少妇一区二区三区日产乱码 | 欧美一区二区三区视频在线观看| 久久精品人人做人人爽人人| 一区二区欧美国产| 国产91精品露脸国语对白| 欧美日韩五月天| 国产精品久久久久影院色老大| 日韩成人午夜电影| 色94色欧美sute亚洲13| 2欧美一区二区三区在线观看视频| 亚洲私人影院在线观看| 国产一区二区h| 777a∨成人精品桃花网| 中文字幕色av一区二区三区| 老司机一区二区| 欧美性受xxxx| 亚洲私人黄色宅男| 韩日精品视频一区| 欧美疯狂做受xxxx富婆| 亚洲色图色小说| 成人97人人超碰人人99| 国产欧美一二三区| 韩国一区二区视频| 欧美成人a∨高清免费观看| 午夜精品久久久久久久蜜桃app| av在线不卡观看免费观看| 337p日本欧洲亚洲大胆精品| 日本视频一区二区三区| 欧美色涩在线第一页| 亚洲免费观看高清完整版在线 | 欧美日韩亚洲综合| 一区二区三区美女视频| 粗大黑人巨茎大战欧美成人| 精品久久久久99| 久久99深爱久久99精品|