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

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

?? imuifilter.m

?? 車牌識別matlab環境下實現的源代碼
?? M
字號:
function varargout = imuifilter(varargin)
%IMUIFILTER
%    Member of IMUI
%    Kotaimen.C, 2002/05 - 2002/07, All Rights Reserved

if ~isstr(varargin{1})
	Action = '::::BuildGUI';

	ud.hdlFCN = varargin{2};

	P = feval(ud.hdlFCN);

	CX = varargin{1};

	if P.ParameterNumber == 0
		varargout{1} = feval(ud.hdlFCN, CX);
		return
	end
	CPREV = thumb(CX);


else
	ud = get(gcf, 'UserData');
	Action = varargin{1};
end

switch Action
case '::::BuildGUI'

	h_integer 	= 8 + 18 + 4 + 16;
	h_single 	= 8 + 18 + 4 + 16;
	h_check 	= 8 + 20;
	h_popup 	= 8 + 20;
	h_strel		= 8 + 20;

	n_integer 	= 0;
	n_single	= 0;
	n_check		= 0;
	n_popup		= 0;
	n_strel		= 0;
	for i = 1 : P.ParameterNumber
		switch lower(P.Parameters{i}.Style)
		case 'integer'
			n_integer = n_integer + 1;
		case 'single'
			n_single = n_single + 1;
		case 'check'
			n_check = n_check + 1;
		case 'popup'
			n_popup = n_popup + 1;
		case 'strel'
			n_strel = n_strel + 1;
		end
	end
	h_controls = ...
		n_integer 	* h_integer + ...
		n_single 	* h_single + ...
		n_check 	* h_check + ...
		n_popup 	* h_popup + ...
		n_strel		* h_strel + ...
		8 + P.ParameterNumber * 8 ;
	if h_controls > 364
		h_fig = h_controls;
	else
		h_fig = 308;
	end

	ud.fig = dialog( ...
		'Name',				P.FilterName, ...
		'Position',			[0, 0, 408, h_fig], ...
		'HandleVisibility', 'on', ...
		'Visible',			'off', ...
		'WindowStyle',		'modal');

	h_base = h_fig - 8;
	ud.hdlParameters{i} = ones(P.ParameterNumber, 1);
	for i = 1 : P.ParameterNumber
		switch lower(P.Parameters{i}.Style)
		case 'integer'
			uicontrol( ...
				'Style',			'text', ...
				'HorizontalAlignment', 'left', ...
				'Units',			'pixel', ...
				'Position',			[8, h_base - h_integer + 20 , 128, 18 ], ...
				'String',			[P.Parameters{i}.Name, ' :'], ...
				'Tag',				'');
			hdlText = uicontrol( ...
				'Style',			'text', ...
				'HorizontalAlignment', 'right', ...
				'Units',			'pixel', ...
				'Position',			[200, h_base - h_integer + 20 , 64, 18 ], ...
				'FontName',			'Courier New', ...
				'FontSize',			9, ...
				'String',			num2str( round(P.Parameters{i}.DefaultValue) ), ...
				'Tag',				'');
			ud.hdlParameters{i} = uicontrol( ...
				'Style',			'slider', ...
				'Units',			'pixel', ...
				'Position',			[8, h_base - h_integer , 256, 16 ], ...
				'Max',				P.Parameters{i}.Max, ...
				'Min',				P.Parameters{i}.Min, ...
				'SliderStep',		[P.Parameters{i}.SmallStep / (P.Parameters{i}.Max - P.Parameters{i}.Min), ...
									P.Parameters{i}.LargeStep / (P.Parameters{i}.Max - P.Parameters{i}.Min)], ...
				'Value',			P.Parameters{i}.DefaultValue, ...
				'Tag',				'::::Parameter', ...
				'Callback',			'imuifilter(''::::cb_Parameter'')', ...
				'UserData',			struct( ...
										'Style',	'integer', ...
										'hdlText',	hdlText, ...
										'DefaultValue', P.Parameters{i}.DefaultValue ...
										) );
			h_base = h_base - h_integer - 8;
		case 'single'
			uicontrol( ...
				'Style',			'text', ...
				'HorizontalAlignment', 'left', ...
				'Units',			'pixel', ...
				'Position',			[8, h_base - h_integer + 20 , 128, 18 ], ...
				'String',			[P.Parameters{i}.Name, ' :'], ...
				'Tag',				'');
			hdlText = uicontrol( ...
				'Style',			'text', ...
				'HorizontalAlignment', 'right', ...
				'Units',			'pixel', ...
				'Position',			[200, h_base - h_integer + 20 , 64, 18 ], ...
				'FontName',			'Courier New', ...
				'FontSize',			9, ...
				'String',			sprintf( '%.2f', P.Parameters{i}.DefaultValue ), ...
				'Tag',				'');
			ud.hdlParameters{i} = uicontrol( ...
				'Style',			'slider', ...
				'Units',			'pixel', ...
				'Position',			[8, h_base - h_integer , 256, 16 ], ...
				'Max',				P.Parameters{i}.Max, ...
				'Min',				P.Parameters{i}.Min, ...
				'SliderStep',		[P.Parameters{i}.SmallStep / (P.Parameters{i}.Max - P.Parameters{i}.Min), ...
									P.Parameters{i}.LargeStep / (P.Parameters{i}.Max - P.Parameters{i}.Min)], ...
				'Value',			P.Parameters{i}.DefaultValue, ...
				'Tag',				'::::Parameter', ...
				'Callback',			'imuifilter(''::::cb_Parameter'')', ...
				'UserData',			struct( ...
										'Style',	'single', ...
										'hdlText',	hdlText, ...
										'DefaultValue', P.Parameters{i}.DefaultValue ...
										) );
			h_base = h_base - h_single - 8;
		case 'check'
			ud.hdlParameters{i} = uicontrol( ...
				'Style',			'check', ...
				'Units',			'pixel', ...
				'Position',			[96, h_base - h_check , 160, 20 ], ...
				'String',			P.Parameters{i}.Name, ...
				'Value',			P.Parameters{i}.DefaultValue, ...
				'Tag',				'::::Parameter', ...
				'Callback',			'imuifilter(''::::cb_Parameter'')', ...
				'UserData',			struct( ...
										'Style',	'check', ...
										'DefaultValue', P.Parameters{i}.DefaultValue ...
										) );
			h_base = h_base - h_check - 8;
		case 'popup'
			uicontrol( ...
				'Style',			'text', ...
				'HorizontalAlignment', 'left', ...
				'Units',			'pixel', ...
				'Position',			[8, h_base - h_popup , 88, 18 ], ...
				'String',			[P.Parameters{i}.Name, ' :'], ...
				'Tag',				'');
			ud.hdlParameters{i} = uicontrol( ...
				'Style',			'popupmenu', ...
				'Units',			'pixel', ...
				'BackgroundColor',	'w', ...
				'Position',			[96, h_base - h_popup , 160, 20 ], ...
				'String',			P.Parameters{i}.Items, ...
				'Value',			P.Parameters{i}.DefaultValue, ...
				'Tag',				'::::Parameter', ...
				'Callback',			'imuifilter(''::::cb_Parameter'')', ...
				'UserData',			struct( ...
										'Style',	'popup', ...
										'DefaultValue', P.Parameters{i}.DefaultValue ...
										) );
			h_base = h_base - h_popup - 8;
		case 'strel'
			uicontrol( ...
				'Style',			'text', ...
				'HorizontalAlignment', 'left', ...
				'Units',			'pixel', ...
				'Position',			[8, h_base - h_popup , 128, 18 ], ...
				'String',			[P.Parameters{i}.Name, ' :'], ...
				'Tag',				'');
			ud.hdlParameters{i} = uicontrol( ...
				'Style',			'pushbutton', ...
				'Units',			'pixel', ...
				'Position',			[129, h_base - h_popup , 128, 20 ], ...
				'String',			sprintf('%d*%d SE...',size(getnhood(P.Parameters{i}.DefaultValue)) ), ...
				'Tag',				'::::Parameter', ...
				'Callback',			'imuifilter(''::::cb_Parameter'')', ...
				'UserData',			struct( ...
										'Style',	'strel', ...
										'DefaultValue', P.Parameters{i}.DefaultValue, ...
										'SE',		P.Parameters{i}.DefaultValue ...
										) );
			h_base = h_base - h_strel - 8;
		end
	end
	%%%%Default UI Controls
	ud.axePreview = axes( ...
		'Units',			'pixel', ...
		'Position',			[272, h_fig - 136,  128, 128]);
	ud.imgPreview = imshow(CPREV, 'notruesize');
	set(ud.axePreview, ...
		'Visible',			'off', ...
		'DrawMode',			'fast')
	set(ud.imgPreview, ...
		'UserData', 		CPREV, ...
		'CDataMapping', 	'scaled', ...
		'EraseMode',		'xor')
	ud.chkPreview = uicontrol( ...
		'Style',			'check', ...
		'Units',			'pixel', ...
		'Position',			[304, h_fig - 136 - 28  , 64, 20 ], ...
		'Value',			0, ...
		'String',			'Preview', ...
		'Callback',			'imuifilter(''::::cb_chkPreview'')');
	ud.btnApply  = uicontrol( ...
		'Style',			'pushbutton', ...
		'Units',			'pixel', ...
		'Position',			[299, h_fig - 164 - 48,  75, 24 ], ...
		'FontWeight',		'bold', ...
		'String',			'Apply', ...
		'Callback',			'imuifilter(''::::cb_btnApply'')');
	ud.btnCancel  = uicontrol( ...
		'Style',			'pushbutton', ...
		'Units',			'pixel', ...
		'Position',			[299, h_fig - 212 - 36,  75, 24 ], ...
		'FontWeight',		'bold', ...
		'String',			'Cancel', ...
		'Callback',			'imuifilter(''::::cb_btnCancel'')');
	ud.btnReset  = uicontrol( ...
		'Style',			'pushbutton', ...
		'Units',			'pixel', ...
		'Position',			[299, h_fig - 248 - 48,  75, 24 ], ...
		'String',			'Reset', ...
		'Callback',			'imuifilter(''::::cb_btnReset'')');

	movegui(ud.fig, 'center')
	set(ud.fig, ...
		'Visible',			'on', ...
		'UserData',			ud, ...
		'HandleVisibility', 'callback', ...
		'Colormap',			gray, ...
		'CloseRequestFcn', 'imuifilter(''::::cb_btnCancel'')')

	waitfor(ud.fig, 'Visible', 'off')

	if strcmp(get(ud.btnApply, 'UserData'), 'apply')
		FCNPARA = {};
		for i = 1 : length(ud.hdlParameters)
			pud = get(ud.hdlParameters{i}, 'UserData');
			switch lower(pud.Style)
			case 'integer'
				FCNPARA{i} = round(get(ud.hdlParameters{i}, 'Value'));
			case 'single'
				FCNPARA{i} = get(ud.hdlParameters{i}, 'Value');
			case 'check'
				FCNPARA{i} = get(ud.hdlParameters{i}, 'Value');
			case 'popup'
				FCNPARA{i} = get(ud.hdlParameters{i}, 'Value');
			case 'strel'
				FCNPARA{i} = pud.SE;
			end
		end
		h = waitfig(['Applying "', P.FilterName, '"']);

		varargout{1} = feval(ud.hdlFCN, CX, FCNPARA);

		delete(h)
	else
		varargout{1} = -1;
	end

	delete(ud.fig)
case '::::cb_Parameter'
	pud = get(gcbo, 'UserData');

	switch lower(pud.Style)
	case 'integer'
		set(pud.hdlText, ...
			'String',	num2str(round(get(gcbo, 'Value'))) )
	case 'single'
		set(pud.hdlText, ...
			'String',	sprintf('%.2f', get(gcbo, 'Value')) )
	case 'check'

	case 'popup'

	case 'strel'
		NewSE = imuistrel;
		if isa(NewSE, 'strel')
			pud.SE = NewSE;
			set(gcbo, 'String', ...
				sprintf('%d*%d SE...',size(getnhood(NewSE)) ) );
		end
	end
	set(gcbo,'UserData', pud)
	if get(ud.chkPreview, 'Value')
		UpdatePreview(ud)
	end
case '::::cb_btnReset'
	for i = 1 : length(ud.hdlParameters)
		pud = get(ud.hdlParameters{i}, 'UserData');
		switch lower(pud.Style)
		case 'integer'
			set(ud.hdlParameters{i}, 'Value', pud.DefaultValue)
			set(pud.hdlText, ...
				'String',	num2str(round(get(ud.hdlParameters{i}, 'Value'))) )
		case 'single'
			set(ud.hdlParameters{i}, 'Value', pud.DefaultValue)
			set(pud.hdlText, ...
				'String',	sprintf('%.2f', get(ud.hdlParameters{i}, 'Value')) )
		case 'check'
			set(ud.hdlParameters{i}, 'Value', pud.DefaultValue)
		case 'popup'
			set(ud.hdlParameters{i}, 'Value', pud.DefaultValue)
		case 'strel'
			pud.SE = pud.DefaultValue;
			set(ud.hdlParameters{i}, 'String', ...
				sprintf('%d*%d SE...',size(getnhood(pud.DefaultValue)) ) );
		end
		set(ud.hdlParameters{i},'UserData', pud)
	end
	set(ud.chkPreview, 'Value', 0)
	set(ud.imgPreview, 'CData', get(ud.imgPreview, 'UserData') )
case '::::cb_chkPreview'
	if get(ud.chkPreview, 'Value')
		UpdatePreview(ud)
	else
		set(ud.imgPreview, 'CData', get(ud.imgPreview, 'UserData') )
	end
case '::::cb_btnApply'
	set(ud.btnApply, 'UserData', 'apply')
	set(ud.fig, 'Visible', 'off')
case '::::cb_btnCancel'
	set(ud.btnApply, 'UserData', 'cancel')
	set(ud.fig, 'Visible', 'off')
end
%========================================================================
function UpdatePreview(ud)
FCNPARA = {};
for i = 1 : length(ud.hdlParameters)
	pud = get(ud.hdlParameters{i}, 'UserData');
	switch lower(pud.Style)
	case 'integer'
		FCNPARA{i} = round(get(ud.hdlParameters{i}, 'Value'));
	case 'single'
		FCNPARA{i} = get(ud.hdlParameters{i}, 'Value');
	case 'check'
		FCNPARA{i} = get(ud.hdlParameters{i}, 'Value');
	case 'popup'
		FCNPARA{i} = get(ud.hdlParameters{i}, 'Value');
	case 'strel'
		FCNPARA{i} = pud.SE;
	end
end
set(ud.btnApply, 'Enable', 'off', 'String', 'Busy')
CX = get(ud.imgPreview, 'UserData');
CX = feval(ud.hdlFCN, CX, FCNPARA);
if isbw(CX)
	CX = grayxform(CX, [0, ones(1, 255)]);
end
set(ud.imgPreview, 'CData', CX)
set(ud.btnApply, 'Enable', 'on', 'String', 'Apply')

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本色道久久综合亚洲91| 欧美日韩性生活| 日本久久电影网| 亚洲精品一区二区三区在线观看| 国产精品久久久久久一区二区三区| 无码av中文一区二区三区桃花岛| 国产福利一区二区三区视频在线| 欧美美女网站色| 亚洲精品五月天| 成人小视频免费观看| 精品久久久久久最新网址| 亚洲综合一区二区三区| 99免费精品视频| 国产日产欧美精品一区二区三区| 性做久久久久久免费观看| 97se亚洲国产综合自在线| 国产日韩欧美精品综合| 精品一区精品二区高清| 宅男在线国产精品| 亚洲3atv精品一区二区三区| 色噜噜狠狠成人中文综合| 亚洲天堂网中文字| 成人激情开心网| 国产欧美日韩久久| 精品一区二区在线免费观看| 7777精品伊人久久久大香线蕉完整版 | 国产美女精品一区二区三区| 欧美精品日韩一区| 亚洲h在线观看| 欧美福利视频导航| 性做久久久久久免费观看欧美| 色视频欧美一区二区三区| 亚洲品质自拍视频| 不卡视频免费播放| 国产精品久久久久久一区二区三区| 国产精品系列在线观看| 国产午夜精品一区二区三区四区| 国产一区二区伦理片| 国产欧美一区二区在线| 国产精品99久久久久久似苏梦涵| 久久久久国产一区二区三区四区 | 国产午夜精品福利| 国产成人精品影视| 亚洲欧洲国产专区| 在线视频欧美区| 视频一区中文字幕| 日韩欧美高清dvd碟片| 国产麻豆成人精品| 国产精品久久免费看| 色狠狠桃花综合| 日韩av不卡在线观看| 日韩欧美亚洲国产另类| 黄页网站大全一区二区| 久久精品视频在线免费观看| www.久久精品| 香蕉av福利精品导航| 精品1区2区在线观看| 成人av综合一区| 亚洲1区2区3区视频| 久久久精品免费免费| 成人av在线网站| 亚洲一区二区三区激情| 精品久久久影院| 99re亚洲国产精品| 免费成人美女在线观看| 中文字幕+乱码+中文字幕一区| 91首页免费视频| 久久精品国产一区二区三| 国产精品欧美久久久久无广告| 91浏览器入口在线观看| 视频一区二区国产| 一区视频在线播放| 日韩欧美亚洲国产另类| 色综合中文字幕国产| 三级久久三级久久| 一区免费观看视频| 久久久影院官网| 欧美一区二区三区在线观看视频| av电影在线观看一区| 久久国产精品72免费观看| 亚洲欧美偷拍另类a∨色屁股| 日韩精品资源二区在线| 欧美天堂亚洲电影院在线播放| 国产成人精品免费| 免费欧美日韩国产三级电影| 一区2区3区在线看| 日本一区二区三区电影| 精品国产人成亚洲区| 在线观看亚洲a| 成人动漫一区二区| 国产在线观看免费一区| 洋洋成人永久网站入口| 欧美成人vps| 欧美日产国产精品| 91麻豆视频网站| 韩国女主播成人在线观看| 一区二区三区中文字幕精品精品 | 国产乱码精品一区二区三区五月婷| 亚洲最色的网站| 精品88久久久久88久久久| 在线视频国产一区| 国产麻豆一精品一av一免费 | 亚洲黄色性网站| 国产清纯美女被跳蛋高潮一区二区久久w | 91麻豆精品国产自产在线| av电影在线不卡| 国产大陆a不卡| 夜夜嗨av一区二区三区| 亚洲一二三四区不卡| 亚洲国产精品高清| 欧美精品一区二区三区久久久| 欧美在线啊v一区| 99re热视频这里只精品| 国产69精品久久777的优势| 日韩黄色在线观看| 亚洲日本在线看| 欧美国产精品专区| 久久综合999| 欧美嫩在线观看| 91黄色在线观看| 91麻豆国产在线观看| 在线观看国产精品网站| 日本精品视频一区二区| 一本到三区不卡视频| 成人一区二区三区视频| 国产成人亚洲精品青草天美| 激情综合网av| 免费成人在线播放| 麻豆久久一区二区| 美女一区二区在线观看| 老司机精品视频一区二区三区| 青青草一区二区三区| 一区二区三区在线视频免费观看 | 调教+趴+乳夹+国产+精品| 亚洲一区二区高清| 日韩精品亚洲一区| 国产精品久久久久久久久搜平片 | 91精品欧美一区二区三区综合在 | 911精品产国品一二三产区| 久久精品国产亚洲a| 亚洲一区二区五区| 一区二区三区四区视频精品免费| 精品国产欧美一区二区| 久久精品亚洲精品国产欧美 | 日本中文字幕一区| 亚洲伊人色欲综合网| 日本一区二区三区久久久久久久久不 | 久久久久久一二三区| 成人综合日日夜夜| 国产中文字幕精品| 蜜桃视频一区二区三区| 青青草伊人久久| 99re免费视频精品全部| 麻豆精品蜜桃视频网站| 欧美tickling网站挠脚心| 91免费看视频| 国产黄色成人av| 国产一级精品在线| 美女国产一区二区| 亚洲男人的天堂在线aⅴ视频| 欧美经典三级视频一区二区三区| 欧美日韩午夜在线| 欧美大度的电影原声| xf在线a精品一区二区视频网站| 精品国产a毛片| 亚洲视频免费看| 日日夜夜一区二区| 久久精品99久久久| 色婷婷亚洲精品| 26uuu国产电影一区二区| 日韩三级伦理片妻子的秘密按摩| 精品国产一区二区三区忘忧草| 亚洲天堂a在线| 另类小说综合欧美亚洲| 成人黄色软件下载| 欧美一区二区久久久| 亚洲色图另类专区| 蜜桃一区二区三区在线| 欧美吻胸吃奶大尺度电影 | 国产亚洲一区二区三区在线观看 | 日韩一区二区三区电影在线观看| 久久女同精品一区二区| 亚洲综合在线第一页| 国产成人精品aa毛片| 7777精品伊人久久久大香线蕉完整版| 久久久亚洲综合| 三级在线观看一区二区| 色综合视频在线观看| 久久精品一区二区三区不卡 | 亚洲欧美视频在线观看| 日本大胆欧美人术艺术动态| 成人av资源在线观看| 久久青草欧美一区二区三区| 亚洲人成在线播放网站岛国| 韩国三级在线一区| 这里只有精品电影| 亚洲成av人片在www色猫咪| jvid福利写真一区二区三区| 精品999在线播放| 久久国产日韩欧美精品|