|
latest version v1.9 - last update 10 Apr 2010 |
|
Contour classes: IO-Points. More...
#include <ltiContour.h>


Public Member Functions | |
| ioPoints () | |
| ioPoints (const ioPoints &other) | |
| virtual | ~ioPoints () |
| const char * | getTypeName () const |
| ioPoints & | castFrom (const areaPoints &theAreaPoints) |
| ioPoints & | castFrom (const borderPoints &theBorderPoints) |
| ioPoints & | operator= (const ioPoints &other) |
| bool | getFromMask (const channel8 &mask) |
| bool | generateMask (channel8 &mask, const bool computeBoundary=true, const bool exactBoundaryDimensions=false, const bool keepMaskData=false) const |
| void | sort () |
Contour classes: IO-Points.
For the explanation of the contour description in this class, see following image:
-- 00000000001111111111222222222233 -- 01234567890123456789012345678901 00 -------------------------------- 01 -------------------------------- 02 -------------------------------- 03 --------BBBB------BBBB---------- 04 -------B****BBB----B**B--------- 05 -------B*******B---B***B-------- 06 ------B*******B-----B*B--------- 07 -------B*******BBBBB**B--------- 08 ---------B*************B-------- 09 --------B**----*********B------- 10 --------B**-----********B------- 11 -------B**-----*******BB-------- 12 ------B**-----*******B---------- 13 ------B**-------******BB-------- 14 -----B**---------*******B------- 15 -----B**--------*********B------ 16 ----B**-------**********BB------ 17 ---B***----*******----BB-------- 18 ----BBBBBBBBB*** --*B---------- 19 -------------BBBBBBBB----------- 20 -------------------------------- 21 -------------------------------- 22 -------------------------------- 23 -------------------------------- "-" means background and the rest is part of the object. "B" indicates a borderpoint.
There are mainly three representations of a contour:
| lti::ioPoints::ioPoints | ( | ) |
default constructor creates an empty io-points list
| lti::ioPoints::ioPoints | ( | const ioPoints & | other | ) |
create this pointList as a copy of another pointList
| other | the pointList to be copied. |
| virtual lti::ioPoints::~ioPoints | ( | ) | [virtual] |
destructor
| ioPoints& lti::ioPoints::castFrom | ( | const borderPoints & | theBorderPoints | ) |
creates this io-list from the given border-points-list
| ioPoints& lti::ioPoints::castFrom | ( | const areaPoints & | theAreaPoints | ) |
creates this io-list from the given area-points-list
| bool lti::ioPoints::generateMask | ( | channel8 & | mask, | |
| const bool | computeBoundary = true, |
|||
| const bool | exactBoundaryDimensions = false, |
|||
| const bool | keepMaskData = false | |||
| ) | const |
generate mask from io-points.
The dimensions of the resulting mask are the smallest rectangle to contain the point (0,0) (optional) and all points in this list, plus 1 pixel in both width and heigth. If the boundary of the point list is not up to date, it can be calculated if specified in the parameters:
| mask | The calculated mask will be stored here | |
| computeBoundary | If false, the internal boundary of the point list will be used, otherwise the boundary will be calculated (but NOT updated!!!). | |
| exactBoundaryDimensions | If true, the dimensions of the resulting mask will be the smallest rectangle to contain only the points in this list. The origin (0,0) may not be included, therefore a 1:1 correspondence of coordinates will generally not be given. | |
| keepMaskData | if false, the mask will be initialized with zero before getting the area mask. If true, the previous mask data is not deleted, but the mask will be resized if necessary. |
| bool lti::ioPoints::getFromMask | ( | const channel8 & | mask | ) |
generate ioPoint-list from the given mask image.
This function assumes that the mask contains JUST ONE connected object. To get the biggest object on the mask see the lti::objectsFromMask functor.
| const char* lti::ioPoints::getTypeName | ( | void | ) | const [inline, virtual] |
returns the name of this class: "ioPoints"
Reimplemented from lti::tpointList< T >.
assigment operator (alias for copy(other)).
| other | the pointList to be copied |
Reimplemented from lti::tpointList< T >.
References lti::tpointList< T >::copy().
| void lti::ioPoints::sort | ( | ) |
sort the points of this in ascending order first of y, and than of x.
Reimplemented from lti::tpointList< T >.