% Selectmethod:选择边缘检测方法 % Loadnew Image:读入被选择的图像 % Updatethreshctrl:数据更新 % Updatelogs1ze-:更新与LoG滤波器相关的数据 if nargin<l action='initializeedgedetection'i end: feval(action, varargin turn 号88函数 Initializeedgedetection function Initializeedgedetection() h= findobj (allchild(0),'tag''edgedetectionsoft') if isempty(h) figure(h(1)) return ena screend= get(0,'screendepth)i if screend> 8 grayres=256; else grayres = 128; e Edgedetectionfig= figure( Name','基于差分运算的数字图像边缘检测软件', 'numbertitle','off,' handlevisibility''on' tag','基于差分运算的数字图像边缘检测软件', Visible,'off,'resize','off 'busyaction','queue,'interruptible,'off', Color',[.8.8.8] Integer handle','off. doublebuffer'on', colormap',gray( grayres)) figpos= get( Edgedetectionfig,'position') 调节图像窗口尺寸 figpos(3:4)=[560420]; horizdecorations =10; resize controls, etc vertdecorations=45; s title bar, etc. e- get(0,'screens if(so size(3)<=1 No display connected apparentl y d screens1ze(3:4)=[10000100000]; if(((figpos(3)+ horizdecorations)> screensize(3)) ((figpos(4)+y 窗口尺寸太小 oratio s)> delete( Edgedetectionfig)i creensize(4))) r(['s n resolutio on 1s too or text f d are to g) te n dx screensize(3)- figpos(1)- figpos(3)- horizdecorations; s edgesoft'1) dy= screensize(4)- figpos(2)- figpos(4)-vertdecorationsi