[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
|
FindBoundingRectangle Class Reference | ![]() |
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 () | |
| void | operator() (argument_type const &coord) |
| void | operator() (FindBoundingRectangle const &otherRegion) |
| result_type | operator() () const |
| void | reset () |
| Size2D | size () const |
Public Attributes | |
| Point2D | lowerRight |
| Point2D | upperLeft |
| bool | valid |
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.
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 the pixel's // coordinates. The image 'mask' determines the ROI. vigra::inspectImageIf(srcIterRange(Diff2D(0,0), (Diff2D)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
| void reset | ( | ) |
(re-)init functor to find other bounds
| void operator() | ( | argument_type const & | coord | ) |
update rectangle by including the coordinate coord
| void operator() | ( | FindBoundingRectangle const & | otherRegion | ) |
update rectangle by merging it with another rectangle
| result_type operator() | ( | ) | const |
Get current rectangle. result_type::first is the upper left corner of the rectangle, result_type::second the lower right.
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
|