


WORKED=ADDFRAME(VW)
Writes a video frame. VW must be a videoWriter object and IMG a 2D
numeric array with 1 or 3 channels that is autoconverted to a uint8
image as follows:
type assumed range
---- -------------
uint8 0 to 255
double 0 to 1
logical 0 to 1
SEE ALSO
videoWriter
Copyright (c) 2007 Gerald Dalley
See "MIT.txt" in the installation directory for licensing details (especially
when using this library on GNU/Linux).

0001 function addframe(vw,img) 0002 %WORKED=ADDFRAME(VW) 0003 % Writes a video frame. VW must be a videoWriter object and IMG a 2D 0004 % numeric array with 1 or 3 channels that is autoconverted to a uint8 0005 % image as follows: 0006 % 0007 % type assumed range 0008 % ---- ------------- 0009 % uint8 0 to 255 0010 % double 0 to 1 0011 % logical 0 to 1 0012 % 0013 %SEE ALSO 0014 % videoWriter 0015 % 0016 %Copyright (c) 2007 Gerald Dalley 0017 %See "MIT.txt" in the installation directory for licensing details (especially 0018 %when using this library on GNU/Linux). 0019 0020 [h,w,d] = size(img); 0021 0022 if (isa(img, 'uint8')) 0023 if (h ~= vw.h || w ~= vw.w) 0024 img = uint8(255*imresize(double(img)/255, [vw.h vw.w])); 0025 else 0026 % no changes needed 0027 end 0028 0029 elseif (isa(img, 'double') || islogical(img)) 0030 if (h ~= vw.h || w ~= vw.w) 0031 img = uint8(255*imresize(img, [vw.h vw.w])); 0032 else 0033 img = uint8(255*img); 0034 end 0035 0036 else 0037 error('Invalid image type.'); 0038 end 0039 0040 if (d == 1) 0041 img = repmat(img, [1 1 3]); 0042 end 0043 0044 feval(vw.plugin, 'addframe', vw.handle, img);