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

📄 idisp.m

📁 来自澳大利亚Qeensland大学的计算机视觉Matlab工具箱。 This Toolbox provides a number of functions that are useful in co
💻 M
字号:
%IDISP	Interactive image display tool%%	IDISP(image)%	IDISP(image, clip)%	IDISP(image, clip, n)%%	Display the image in current figure and create buttons for:%		* region zooming%		* unzooming%		* drawing a cross-section line.  Intensity along line will be%		  displayed in a new figure.%%	Left clicking on a pixel will display its value in a box at the top.%%	The second form will limit the displayed greylevels.  If CLIP is a%	scalar pixels greater than this value are set to CLIP.  If CLIP is%	a 2-vector pixels less than CLIP(1) are set to CLIP(1) and those%	greater than CLIP(2) are set to CLIP(2).  CLIP can be set to [] for%	no clipping.%	The N argument sets the length of the greyscale color map (default 64).%% SEE ALSO:	iroi, image, colormap, gray%%	Copyright (c) Peter Corke, 1999  Machine Vision Toolbox for Matlabfunction idisp(z, clip, ncmap)	if nargin < 3,		ncmap = 64;	end	if (nargin > 0) & ~isstr(z),		% command line invocation, display the image		clf		colormap(gray(ncmap))		n = ncmap;		if nargin == 2,			if length(clip) == 2,				z(find(z<clip(1))) = clip(1);				z(find(z>clip(2))) = clip(2);			elseif length(clip) == 1,				z(find(z>clip)) = clip;			end		end		hi = image(z);		set(hi, 'CDataMapping', 'scaled');		htf = uicontrol(gcf, ...				'style', 'text', ...				'units',  'norm', ...				'pos', [.6 .93 .4 .07], ...				'string', '' ...			);		ud = [gca htf hi axis];		set(gca, 'UserData', ud);		set(hi, 'UserData', ud);		hpb=uicontrol(gcf,'style','push','string','line', ...			'units','norm','pos',[0 .93 .1 .07], ...			'userdata', ud, ...			'callback', 'idisp(''line'')');		hzm=uicontrol(gcf,'style','push','string','zoom', ...			'units','norm','pos',[.1 .93 .1 .07], ...			'userdata', ud, ...			'callback', 'idisp(''zoom'')');		huz=uicontrol(gcf,'style','push','string','unzoom', ...			'units','norm','pos',[.2 .93 .15 .07], ...			'userdata', ud, ...			'callback', 'idisp(''unzoom'')');		set(hi, 'UserData', ud);		set(gcf, 'WindowButtonDownFcn', 'idisp(''down'')');		set(gcf, 'WindowButtonUpFcn', 'idisp(''up'')');		return;	end% otherwise idisp() is being invoked on a GUI event	if nargin == 0,		% mouse push or motion request		h = get(gcf, 'CurrentObject'); % image		ud = get(h, 'UserData');		% axis		h_ax = ud(1);	% axes		tf = ud(2);	% string field		hi = ud(3);	% the image		cp = get(h_ax, 'CurrentPoint');		x = round(cp(1,1));		y = round(cp(1,2));		imdata = get(hi, 'CData');		set(tf, 'String', ['(' num2str(x) ', ' num2str(y) ') = ' num2str(imdata(y,x))]);		drawnow	elseif nargin == 1,		switch z,		case 'down',			% install pixel value inspector			set(gcf, 'WindowButtonMotionFcn', 'idisp');			idisp					case 'up',			set(gcf, 'WindowButtonMotionFcn', '');		case 'line',			h = get(gcf, 'CurrentObject'); % push button			ud = get(h, 'UserData');			ax = ud(1);	% axes			tf = ud(2);	% string field			hi = ud(3);	% the image			set(tf, 'String', 'First point');			[x1,y1] = ginput(1);			x1 = round(x1); y1 = round(y1);			set(tf, 'String', 'Last point');			[x2,y2] = ginput(1);			x2 = round(x2); y2 = round(y2);			set(tf, 'String', '');			imdata = get(hi, 'CData');			dx = x2-x1; dy = y2-y1;			if abs(dx) > abs(dy),				x = x1:x2;				y = round(dy/dx * (x-x1) + y1);				figure				plot(imdata(y+x*numrows(imdata)))			else				y = y1:y2;				x = round(dx/dy * (y-y1) + x1);				figure				plot(imdata(y+x*numrows(imdata)))			end		case 'zoom',			h = get(gcf, 'CurrentObject'); % push button			ud = get(h, 'UserData');			ax = ud(1);	% axes			tf = ud(2);	% string field			hi = ud(3);	% the image			set(tf, 'String', 'First point');			[x1,y1] = ginput(1);			x1 = round(x1); y1 = round(y1);			set(tf, 'String', 'Last point');			[x2,y2] = ginput(1);			x2 = round(x2); y2 = round(y2);			set(tf, 'String', '');			axes(ax);			axis([x1 x2 y1 y2]);		case 'unzoom',			h = get(gcf, 'CurrentObject'); % push button			ud = get(h, 'UserData');			h_ax = ud(1);	% axes			axes(h_ax);			axis(ud(4:7));		end	end

⌨️ 快捷键说明

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