#include <iostream>
#include <vigra/multi_array.hxx>
#include <vigra/convolution.hxx>
#include <vigra/nonlineardiffusion.hxx>
int main(int argc, char ** argv)
{
if(argc != 3)
{
std::cout << "Usage: " << argv[0] << " infile outfile" << std::endl;
return 1;
}
int type;
std::cout << "Type of smoothing (1 = Gauss, 2 = Exponential, 3 = nonlinear) ? ";
std::cin >> type;
double scale;
std::cout << "Amount of smoothing (operator scale) ? ";
std::cin >> scale;
double edge_threshold;
if(type == 3)
{
std::cout << "Edge threshold ? ";
std::cin >> edge_threshold;
}
try
{
{
switch(type)
{
case 2:
{
break;
}
case 3:
{
break;
}
default:
{
}
}
}
else
{
switch(type)
{
case 2:
{
break;
}
case 3:
{
for(int band = 0; band<3; ++band)
{
}
break;
}
default:
{
}
}
}
}
catch (std::exception & e)
{
std::cout << e.what() << std::endl;
return 1;
}
return 0;
}
Diffusivity functor for non-linear diffusion.
Definition nonlineardiffusion.hxx:706
Argument object for the function exportImage().
Definition imageinfo.hxx:134
Argument object for the function importImage().
Definition imageinfo.hxx:391
MultiArrayShape< 2 >::type shape() const
Main MultiArray class containing the memory management.
Definition multi_array.hxx:2479
void exportImage(...)
Write an image to a file.
void importImage(...)
Read an image from a file.
image import and export functions
void gaussianSmoothing(...)
Perform isotropic Gaussian convolution.
void recursiveSmoothX(...)
Performs 1 dimensional recursive smoothing in x direction.
void recursiveSmoothY(...)
Performs 1 dimensional recursive smoothing in y direction.
std::string impexListFormats()
List the image formats VIGRA can read and write.
void nonlinearDiffusion(...)
Perform edge-preserving smoothing at the given scale.