[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
![]() |
FindBoundingRectangle [Functors To Inspect Images] |
![]() |
Calculate the bounding rectangle of an ROI in an image. More...
#include <vigra/inspectimage.hxx>
Public Types | |
typedef Diff2D | argument_type |
typedef Rect2D | result_type |
typedef Diff2D | value_type |
Public Member Functions | |
FindBoundingRectangle () | |
result_type | operator() () const |
void | operator() (FindBoundingRectangle const &otherRegion) |
void | operator() (argument_type const &coord) |
void | reset () |
Size2D | size () const |
Public Attributes | |
Point2D | lowerRight |
Point2D | upperLeft |
bool | valid |
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.
Traits defined:
FunctorTraits::isUnaryAnalyser
and FunctorTraits::isInitializer
are true (VigraTrueType
)
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;
typedef Diff2D argument_type |
the functor's argument type
typedef Rect2D result_type |
the functors result type
typedef Diff2D value_type |
init rectangle to invalid values
result_type operator() | ( | ) | const |
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 | ) |
update rectangle by merging it with another rectangle
void operator() | ( | argument_type const & | coord | ) |
update rectangle by including the coordinate coord
void reset | ( | ) |
(re-)init functor to find other bounds
Size2D size | ( | ) | const |
Get size of current rectangle.
Lower right of the region as seen so far
bool valid |
are the functors contents valid ?
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |
html generated using doxygen and Python
|