Advanced morphology Transformations sample code
Sample screenshot
Check the corresponding tutorial for more details
#include <iostream>
using namespace cv;
int morph_elem = 0;
int morph_size = 0;
int morph_operator = 0;
int const max_operator = 4;
int const max_elem = 2;
int const max_kernel_size = 21;
const char* window_name = "Morphology Transformations Demo";
void Morphology_Operations( int, void* );
int main( int argc, char** argv )
{
CommandLineParser parser( argc, argv,
"{@input | ../data/baboon.jpg | input image}" );
if (src.empty())
{
std::cout << "Could not open or find the image!\n" << std::endl;
std::cout << "Usage: " << argv[0] << " <Input image>" << std::endl;
return -1;
}
createTrackbar(
"Operator:\n 0: Opening - 1: Closing \n 2: Gradient - 3: Top Hat \n 4: Black Hat", window_name, &morph_operator, max_operator, Morphology_Operations );
createTrackbar(
"Element:\n 0: Rect - 1: Cross - 2: Ellipse", window_name,
&morph_elem, max_elem,
Morphology_Operations );
&morph_size, max_kernel_size,
Morphology_Operations );
Morphology_Operations( 0, 0 );
return 0;
}
void Morphology_Operations( int, void* )
{
int operation = morph_operator + 2;
}