Morphological Filtering Code Snippet

This code snippet shows how to apply miscellaneous morphological filtering operations.

C++

#include <eVision/EasyImage/EasyImage.h>
using namespace eVision;
// Images constructor
EImageBW8 srcImage;
EImageBW8 dstImage;
// ...
// Source and destination images must have the same size
dstImage.SetSize(&srcImage);
// Perform an erosion (3x3 square kernel)
EasyImage::ErodeBox(&srcImage, &dstImage, 1);
// Perform a dilation (5x3 rectangular kernel)
EasyImage::DilateBox(&srcImage, &dstImage, 2, 1);
// Perform an Open operation (5x5 circular kernel)
EasyImage::OpenDisk(&srcImage, &dstImage, 2);

C#

using eVision;
// Images constructor
EImageBW8 srcImage = new EImageBW8();
EImageBW8 dstImage = new EImageBW8();
// ...
// Source and destination images must have the same size
dstImage.SetSize(srcImage);
// Perform an erosion (3x3 square kernel)
EasyImage.ErodeBox(srcImage, dstImage, 1);
// Perform a dilation (5x3 rectangular kernel)
EasyImage.DilateBox(srcImage, dstImage, 2, 1);
// Perform an Open operation (5x5 circular kernel)
EasyImage.OpenDisk(srcImage, dstImage, 2);

Python

from eVision import EImageBW8, EasyImage
# Images constructor
src_image = EImageBW8()
dst_image = EImageBW8()
# ...
# Source and destination images must have the same size
dst_image.SetSize(src_image)
# Perform an erosion (3x3 square kernel)
EasyImage.ErodeBox(src_image, dst_image, 1)
# Perform a dilation (5x3 rectangular kernel)
EasyImage.DilateBox(src_image, dst_image, 2, 1)
# Perform an Open operation (5x5 circular kernel)
EasyImage.OpenDisk(src_image, dst_image, 2)