[ VIGRA Homepage | Class Index | Function Index | File Index | Main Page ]

details FindBoundingRectangle Class Reference VIGRA

Calculate the bounding rectangle of an ROI in an image. More...

#include "vigra/inspectimage.hxx"


Public Types

typedef Diff2D argument_type
typedef pair< Diff2D, Diff2Dresult_type
typedef Diff2D value_type

Public Methods

 FindBoundingRectangle ()
void reset ()
void operator() (argument_type const &coord)
void operator() (FindBoundingRectangle const &otherRegion)
result_type operator() () const

Public Attributes

Point2D upperLeft
Point2D lowerRight
bool valid


Detailed Description


Calculate the bounding rectangle of an ROI in an image.

As always in VIGRA, roiRect.lowerRight is just outside the rectangle. That is, the last pixel actually in the rectangle is roiRect.lowerRight - Diff2D(1,1). This Functor is often used in conjunction with ArrayOfRegionStatistics to find the bounding rectangles of all regions in a labeled image.

Usage:

#include "vigra/inspectimage.hxx"
Namespace: vigra

    vigra::BImage img, mask;
    ...

    vigra::FindBoundingRectangle roiRect;   // init functor

    // Diff2D is used as the iterator for the source image. This
    // simulates an image where each pixel value equals that pixel's
    // coordinates. Tha image 'mask' determines the ROI.
    vigra::inspectImageIf(srcIterRange(Diff2D(0,0), img.size()),
                          srcImage(mask), roiRect);

    cout << "Upper left of ROI: " <<
        roiRect.upperLeft.x << ", " << roiRect.upperLeft.y << endl;
    cout << "Lower right of ROI: " <<
        roiRect.lowerRight.x << ", " << roiRect.lowerRight.y << endl;


Member Typedef Documentation


typedef Diff2D argument_type

 

the functor's argument type


typedef pair<Diff2D, Diff2D> result_type

 

the functors result type


typedef Diff2D value_type

 

Deprecated:
use argument_type


Constructor & Destructor Documentation


FindBoundingRectangle   [inline]

 

init rectangle to invalid values


Member Function Documentation


result_type operator()   const [inline]

 

Get current rectangle. result_type::first is the upper left corner of the rectangle, result_type::second the lower right.


void operator() FindBoundingRectangle const &    otherRegion [inline]

 

update rectangle by merging it with another rectangle


void operator() argument_type const &    coord [inline]

 

update rectangle by including the coordinate coord


void reset   [inline]

 

(re-)init functor to find other bounds


Member Data Documentation


Point2D lowerRight

 

Lower right of the region as seen so far


Point2D upperLeft

 

Upper left of the region as seen so far


bool valid

 

are the functors contents valid ?


The documentation for this class was generated from the following file:

© Ullrich Köthe (koethe@informatik.uni-hamburg.de)
Cognitive Systems Group, University of Hamburg, Germany

html generated using doxygen and Python
VIGRA 1.2.0 (7 Aug 2003)