📄 test.m
字号:
% test program to continiously acquire pictures from the camera
%
% try..
% >> test
%
% ... or
%
% >> test(2, 100, 100, 50, 200)
function test(varargin)
supportedModes = { ...
'YUV444 (160x120, 30 fps)', ...
'YUV422 (320x240, 30 fps)', ...
'YUV411 (640x480, 30 fps)', ...
'YUV422 (640x480, 15 fps)', ...
'RGB8 (640x480, 15 fps)', ...
'Y8 (640x480, 30 fps)', ...
'Y16 (640x480, 15 fps)' ...
};
if(isempty(varargin))
disp('Image type not specified - using YUV as the default');
mode = 2; % default mode: YUV411 (640x320, 30 fps)
myWidth = -1; % default width (max)
myHeight = -1; % default height (max)
myOrigX = -1; % default origin-x (0)
myOrigY = -1; % default origin-y (0)
elseif(nargin == 1 && isnumeric(varargin{1}))
mode = varargin{1};
myWidth = -1; % default width (max)
myHeight = -1; % default height (max)
myOrigX = -1; % default origin-x (0)
myOrigY = -1; % default origin-y (0)
elseif(nargin == 3 && isnumeric(varargin{1}) && isnumeric(varargin{2}) && isnumeric(varargin{3}))
mode = varargin{1};
myWidth = varargin{2};
myHeight = varargin{3};
myOrigX = -1; % default origin-x (0)
myOrigY = -1; % default origin-y (0)
elseif(nargin == 5 && isnumeric(varargin{1}) && isnumeric(varargin{2}) && isnumeric(varargin{3}) ...
&& isnumeric(varargin{4}) && isnumeric(varargin{5}))
mode = varargin{1};
myWidth = varargin{2};
myHeight = varargin{3};
myOrigX = varargin{4};
myOrigY = varargin{5};
end
if(mode == -1)
% switch camera off
acqImage(-1);
else
% ensure we can exit from the while(1) loop gracefully...
figure
evalin('base', 'run = 1;');
set(gcf, 'CloseRequestFcn', 'evalin(''base'', ''run = 0;'');');
run = 1;
while(run)
try
% verbosity: on (2nd call-up parameter)
image(acqImage(mode, 1, myWidth, myHeight, myOrigX, myOrigY));
catch
% catch driver errors (e.g. unsupported modes)
set(gcf, 'CloseRequestFcn', 'closereq');
close all
rethrow(lasterror)
end
% tell the user what to do (eg. ALT+F4 to exit)
title(['MODE: ' supportedModes{mode+1} ' -- Close figure window to exit (e.g. ALT+F4)'])
axis image
drawnow
% fetch 'run' from 'base' WS
run = evalin('base', 'run');
end
end
% switch camera off...
acqImage(-1);
set(gcf, 'CloseRequestFcn', 'closereq');
close all
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -