An example using non-photorealistic line drawing functions
#include <signal.h>
#include <iostream>
#include <stdlib.h>
int main(int argc, char* argv[])
{
    if(argc < 2)
    {
        cout << "usage: " << argv[0] << " <Input image> "  << endl;
        exit(0);
    }
    int num,type;
    {
        cout <<  "Image not found" << endl;
        exit(0);
    }
    cout << endl;
    cout << " Edge Preserve Filter" << endl;
    cout << "----------------------" << endl;
    cout << "Options: " << endl;
    cout << endl;
    cout << "1) Edge Preserve Smoothing" << endl;
    cout << "   -> Using Normalized convolution Filter" << endl;
    cout << "   -> Using Recursive Filter" << endl;
    cout << "2) Detail Enhancement" << endl;
    cout << "3) Pencil sketch/Color Pencil Drawing" << endl;
    cout << "4) Stylization" << endl;
    cout << endl;
    cout << "Press number 1-4 to choose from above techniques: ";
    cin >> num;
    if(num == 1)
    {
        cout << endl;
        cout << "Press 1 for Normalized Convolution Filter and 2 for Recursive Filter: ";
        cin >> type;
        imshow(
"Edge Preserve Smoothing",img);
     }
    else if(num == 2)
    {
        imshow(
"Detail Enhanced",img);
     }
    else if(num == 3)
    {
        imshow(
"Color Pencil Sketch",img);
     }
    else if(num == 4)
    {
    }
}