function varargout = plotframe(varargin) % VL_PLOTFRAME Plot feature frame % VL_PLOTFRAME(FRAME) plots the frames FRAME. Frames are attributed % image regions (as, for example, extracted by a feature detector). A % frame is a vector of D=2,3,..,6 real numbers, depending on its % class. VL_PLOTFRAME() supports the following classes: % % Point:: % FRAME(1:2) are the x,y coordinates of the point % % Circle:: % FRAME(1:2) are the x,y coordinates of the center. FRAME(3) % is the circle radius.. % % Oriented circle:: % FRAME(1:2) are the x,y coordiantes of the center. FRAME(3) is the % radius. FRAME(4) is the orientation, expressed as a ppsitive % rotation (note that images use a left-handed system with the Y % axis pointing downwards). % % Ellipse:: % FRAME(1:2) are the x,y coordiantes of the center. FRAME(3:5) are % the element S11, S12, S22 of a 2x2 covariance matrix S (a positive % semidefinite matrix) defining the ellipse shape. The ellipse % is the set of points {x + T: x' inv(S) x = 1}, where T is the center. % % Oriented ellipse:: % FRAME(1:2) are the x,y coordiantes of the center. FRAME(3:6) is % the column-wise stacking of a 2x2 matrix A defining the ellipse % shape and orientation. The ellipse is obtaine by transforming % a unit circle by A as the set of points {A x + T : |x| = 1}, where % T is the center. % % All frames can be thought of as an affine transformation of the unit circle. % For unoriented frames, the affine transformation is selected so that % the positive Y direction (downwards, graviy vector) is preserved. % % H = VL_PLOTFRAME(...) returns the handle H of the graphical object % representing the frames. % % VL_PLOTFRAME(FRAMES) for a matrix of FRAMES plots multiple frames. % Using this call is much faster than calling VL_PLOTFRAME() for each frame. % % VL_PLOTFRAME(FRAMES,...) passes any extra argument to the % underlying plot function. The first optional argument can be a line % specification string such as the one used by PLOT(). % % See also: VL_FRAME2OELL(), VL_HELP(). [varargout{1:nargout}] = vl_plotframe(varargin{:});