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

📄 imuistrel.m

📁 这是采用Matlab编写的车牌识别程序,好不好下了就知
💻 M
字号:
function varargout = imuistrel(varargin)% IMUISTREL Application M-file for imuistrel.fig%    FIG = IMUISTREL launch imuistrel GUI.%    IMUISTREL('callback_name', ...) invoke the named callback.% Last Modified by GUIDE v2.0 23-Jul-2002 13:32:55if nargin == 0  % LAUNCH GUI	fig = openfig(mfilename,'reuse');	movegui(fig, 'center')	% Use system color scheme for figure:	set(fig,'Color',get(0,'defaultUicontrolBackgroundColor'));		% Generate a structure of handles to pass to callbacks, and store it.	handles = guihandles(fig);	handles.line0 = line([1 2], [1 2], ...						'LineStyle', 		'none', ...						'Marker',			's', ...						'MarkerEdgeColor',	[0 0.5 1], ...						'MarkerFaceColor',	'none', ...												'MarkerSize',		4);	handles.line1 = line([1 2], [1 2], ...						'LineStyle', 		'none', ...						'Marker',			's', ...						'MarkerEdgeColor',	[0 0.5 1], ...						'MarkerFaceColor',	[0 0.5 1], ...													'MarkerSize',		4);	guidata(fig, handles);	UpdatePreview(handles)	set(fig, ...		'HandleVisibility', 	'callback', ...		'Visible',				'on')	waitfor(fig, 'Visible', 'off')	if get(handles.btnOK, 'UserData')		varargout{1} = get(handles.axePreview, 'UserData');	else		varargout{1} = -1;	end	delete(fig)elseif ischar(varargin{1}) % INVOKE NAMED SUBFUNCTION OR CALLBACK	try		if (nargout)			[varargout{1:nargout}] = feval(varargin{:}); % FEVAL switchyard		else			feval(varargin{:}); % FEVAL switchyard		end	catch		disp(lasterr);	endend% ====================================================================function varargout = rad1_Callback(h, eventdata, handles, varargin)RadionButtonCallback(handles)function varargout = rad2_Callback(h, eventdata, handles, varargin)RadionButtonCallback(handles)function varargout = rad3_Callback(h, eventdata, handles, varargin)RadionButtonCallback(handles)function varargout = rad4_Callback(h, eventdata, handles, varargin)RadionButtonCallback(handles)function varargout = rad5_Callback(h, eventdata, handles, varargin)RadionButtonCallback(handles)function varargout = rad6_Callback(h, eventdata, handles, varargin)RadionButtonCallback(handles)function varargout = rad7_Callback(h, eventdata, handles, varargin)RadionButtonCallback(handles)function varargout = rad8_Callback(h, eventdata, handles, varargin)RadionButtonCallback(handles)% --------------------------------------------------------------------function RadionButtonCallback(handles)allhandles = allchild(handles.fig);set(findobj(allhandles, 'Style', 'radiobutton'), 'Value', 0)set(gcbo, 'Value', 1)rtag = get(gcbo, 'Tag');for h = transpose(allhandles)	htag = get(h, 'Tag');	if ~strcmp(htag, 'axePreview')		if ~strcmp(get(h, 'Style'), 'radiobutton') & ...				~strcmp(get(h, 'Style'), 'pushbutton')  ...				& length(htag) > 4			if strcmp(htag(4), rtag(4))				set(h, 'visible', 'on')			else				set(h, 'visible', 'off')			end		end	endendUpdatePreview(handles)% ====================================================================function varargout = sld1_1_Callback(h, eventdata, handles, varargin)SliderSizeCallback(handles)function varargout = sld2_1_Callback(h, eventdata, handles, varargin)SliderSizeCallback(handles)function varargout = sld3_1_Callback(h, eventdata, handles, varargin)SliderSizeCallback(handles)function varargout = sld3_2_Callback(h, eventdata, handles, varargin)SliderSizeCallback(handles)function varargout = sld5_1_Callback(h, eventdata, handles, varargin)SliderSizeCallback(handles)function varargout = sld5_2_Callback(h, eventdata, handles, varargin)SliderSizeCallback(handles)function varargout = sld6_2_Callback(h, eventdata, handles, varargin)SliderSizeCallback(handles)function varargout = sld6_3_Callback(h, eventdata, handles, varargin)SliderSizeCallback(handles)function varargout = sld7_1_Callback(h, eventdata, handles, varargin)SliderSizeCallback(handles)function varargout = sld7_2_Callback(h, eventdata, handles, varargin)SliderSizeCallback(handles)function varargout = sld8_1_Callback(h, eventdata, handles, varargin)SliderSizeCallback(handles)% --------------------------------------------------------------------function SliderSizeCallback(handles)tag = get(gcbo, 'Tag');hdltxt = findobj( allchild(handles.fig), 'Tag', ['txt', tag(end-2 : end)] );val = get(gcbo, 'Value');set(hdltxt, 'String', sprintf('%d', round(val) ))UpdatePreview(handles)% --------------------------------------------------------------------function varargout = sld4_1_Callback(h, eventdata, handles, varargin)val = get(gcbo, 'Value');set(handles.txt4_1, 'String', sprintf('%d', 3 * round(val) ))UpdatePreview(handles)function varargout = sld6_1_Callback(h, eventdata, handles, varargin)val = get(gcbo, 'Value');set(handles.txt6_1, 'String', sprintf('%d', 2 * round(val) + 1	 ))UpdatePreview(handles)% --------------------------------------------------------------------function varargout = pop2_2_Callback(h, eventdata, handles, varargin)UpdatePreview(handles)% ====================================================================function UpdatePreview(handles)allhandles = allchild(handles.fig);for h = transpose(findobj(allhandles, 'Style', 'radiobutton'))	if get(h, 'Value')		htag = get(h, 'Tag');		streltype = str2num(htag(4));		break	endendswitch streltypecase 1	R = round(get(handles.sld1_1, 'Value'));	STREL = strel('diamond', R);case 2	R = round(get(handles.sld2_1, 'Value'));	switch get(handles.pop2_2, 'Value')	case 1		N = 0;	case 2		N = 4;	case 3		N = 6;	case 4		N = 8;	end	STREL = strel('disk', R, N);case 3	LEN = round(get(handles.sld3_1, 'Value'));	DEG = get(handles.sld3_2, 'Value');	STREL = strel('line', LEN, DEG);case 4	R = round(get(handles.sld4_1, 'Value')) * 3;	STREL = strel('octagon', R);case 5	OFFSET = round([ get(handles.sld5_1, 'Value'), ...					get(handles.sld5_2, 'Value')] );	STREL = strel('pair', OFFSET);case 6	P = round(get(handles.sld6_1, 'Value')) * 2 + 1;	V = round([ get(handles.sld6_2, 'Value'), ...					get(handles.sld6_3, 'Value')] );	STREL = strel('periodicline', P, V);case 7	R = round([ get(handles.sld7_1, 'Value'), ...					get(handles.sld7_2, 'Value')] );	STREL = strel('rectangle', R);case 8	R = round(get(handles.sld8_1, 'Value'));	STREL = strel('square', R);endset(handles.axePreview, 'UserData', STREL)nhood = getnhood(STREL);nsize = size(nhood);s = sum(sum(nhood));xdt0 = zeros(1, s);ydt0 = zeros(1, s);xdt1 = zeros(1, s);ydt1 = zeros(1, s);k = 1;for i = 1 : nsize(1)	for j = 1 : nsize(2)		if nhood(i, j)			xdt1(k) = i;			ydt1(k) = j;		else			xdt0(k) = i;			ydt0(k) = j;			end			k = k + 1;	endendset(handles.line0, ...	'XData', 	xdt0, ...	'YData', 	ydt0)set(handles.line1, ...	'XData', 	xdt1, ...	'YData', 	ydt1)% --------------------------------------------------------------------function varargout = btnOK_Callback(h, eventdata, handles, varargin)set(handles.btnOK, 'UserData', 1)set(handles.fig, 'Visible', 'off')% --------------------------------------------------------------------function varargout = btnCancel_Callback(h, eventdata, handles, varargin)set(handles.btnOK, 'UserData', 0)set(handles.fig, 'Visible', 'off')% --------------------------------------------------------------------function varargout = fig_CloseRequestFcn(h, eventdata, handles, varargin)set(handles.btnOK, 'UserData', 0)set(handles.fig, 'Visible', 'off')

⌨️ 快捷键说明

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