AForge.NET框架提供了一组数学形态学过滤器。所有过滤器都可以像使用默认结构元素一样应用,也可以像使用自定义指定结构元素一样应用。

在Dilation中,滤镜将周围像素的最大值分配给结果图像的每个像素。周围的像素(应处理)由结构元素指定:1-处理邻居,-1-跳过邻居。

该过滤器对于二进制图像处理特别有用,它可以增长单独的对象或合并对象。

对于使用3x3结构元素处理图像,可以使用不同的优化方法,例如Dilatation3x3和BinaryDilatation3x3。

滤镜接受8和16 bpp的灰度图像以及24和48 bpp的彩色图像进行处理。

这是3 * 3结构元素的代码:

Dilatation filter = new Dilatation( );
filter.Apply( image );


但是我需要使用5 * 5结构元素来实现此代码。如何将此代码修改为5 * 5结构元素?

最佳答案

我不知道AForge.NET框架,但是尺寸为5x5的侵蚀/膨胀等于尺寸为3x3的两个侵蚀/膨胀。这是在库支持的六角形结构元素中完成的。

因此,在您的情况下,您只需执行两次操作即可。根据您的代码,它将是:

Dilatation filter = new Dilatation( );
filter.Apply( image );
filter.Apply( image );

关于c# - 如何在Aforge.net中使用5 * 5结构元素Dilation进行编码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36896018/

10-13 00:58