This example shows the greedy decomposition of an noisy contour from the alpha-thick segment primitive with alpha = 4.
- See also
- Alpha-thick Segment Recognition
Greedy decomposition with alpha-thick segments with alpha = 4
#include <iostream>
#include "ConfigExamples.h"
#include "DGtal/helpers/StdDefs.h"
#include "DGtal/base/Common.h"
#include "DGtal/geometry/curves/AlphaThickSegmentComputer.h"
#include "DGtal/io/boards/Board2D.h"
#include "DGtal/geometry/curves/GreedySegmentation.h"
#include <DGtal/io/readers/GenericReader.h>
using namespace std;
{
typedef std::vector<Z2i::RealPoint>::const_iterator
ConstIterator;
std::string file = examplesPath + "samples/contourSnoisy.sdp";
aBoard <<
SetMode(aContour[0].className(),
"Grid");
std::vector<LibBoard::Point> poly;
for (
unsigned int i = 0; i< aContour.size(); i++) poly.push_back(
LibBoard::Point(aContour[i][0], aContour[i][1]));
aBoard <<
SetMode(
"AlphaThickSegment",
"BoundingBox");
DecompositionAT theDecomposition(aContour.begin(), aContour.end(), AlphaThickSegmentComputer2D(4));
for ( DecompositionAT::SegmentComputerIterator
it = theDecomposition.begin(),
itEnd = theDecomposition.end();
it != itEnd; ++it )
{
aBoard<< *it;
}
aBoard.
saveEPS(
"greedyAlphaThickDecomposition.eps");
return 0;
}