We use an operation called dilation to achieve thickening. This is the operation that makes a shape thicker by adding boundary layers to all the shapes in the image:
![](https://static.packt-cdn.com/products/9781789341225/graphics/assets/d747f0d4-9b2d-4ed4-b07e-f7b8ebe05435.png)
Here is the code to do it:
Mat performDilation(Mat inputImage, int dilationElement, int dilationSize)
{
Mat outputImage;
int dilationType;
if(dilationElement == 0)
dilationType = MORPH_RECT;
else if(dilationElement == 1)
dilationType = MORPH_CROSS;
else if(dilationElement == 2)
dilationType = MORPH_ELLIPSE;
// Create the structuring element for dilation
Mat element = getStructuringElement(dilationType, Size(2*dilationSize + 1, 2*dilationSize + 1), Point(dilationSize, dilationSize));
// Dilate the image using the structuring element
dilate(inputImage, outputImage, element);
// Return the output image
return outputImage;
}