[ 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
|