#include <iostream>
#include <vigra/multi_array.hxx>
#include <vigra/random.hxx>
#include <vigra/distancetransform.hxx>
#include <vigra/labelimage.hxx>
#include <vigra/seededregiongrowing.hxx>
int main(int argc, char ** argv)
{
try
{
int number_of_points = 25;
int size = 512;
MultiArray<2, float> in(size, size);
for(int i=1; i<=number_of_points; ++i)
{
int x = random.uniformInt(size);
int y = random.uniformInt(size);
in(x,y) = i;
}
MultiArray<2, int> out(size, size);
out = 255;
MultiArray<2, float> distances(size, size);
exportImage(distances, ImageExportInfo(
"distances.gif"));
std::cout << "Wrote distance transform (distances.gif)" << std::endl;
ArrayOfRegionStatistics<SeedRgDirectValueFunctor<float> > statistics(number_of_points);
std::cout << "Wrote voronoi diagram (voronoi.gif)" << std::endl;
}
catch (std::exception & e)
{
std::cout << e.what() << std::endl;
return 1;
}
return 0;
}
void exportImage(...)
Write an image to a file.
image import and export functions
void initImageIf(...)
Write value to pixel in the image if mask is true.
RandomNumberGenerator< detail::RandomState< detail::MT19937 > > MersenneTwister
Definition: random.hxx:627
void regionImageToEdgeImage(...)
Transform a labeled image into an edge image.
void seededRegionGrowing(...)
Region Segmentation by means of Seeded Region Growing.
void distanceTransform(...)