smooth.cxx
|
|
Smooth an image using Recursive convolution functions functions: smooth.cxx
Usage: example_smooth infile outfile
#include <iostream>
#include <vigra/multi_array.hxx>
#include <vigra/convolution.hxx>
#include <vigra/nonlineardiffusion.hxx>
using namespace vigra;
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;
}