首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Aforge.net中使用5*5结构元素展开来编写代码?

如何在Aforge.net中使用5*5结构元素展开来编写代码?
EN

Stack Overflow用户
提问于 2016-04-27 16:48:33
回答 2查看 1.1K关注 0票数 1

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

在扩展中,滤波器将周围像素的最大值分配给结果图像的每个像素。应该处理的周围像素由结构化元素指定:1-处理邻居,-1 -跳过它。

该过滤器特别适用于二进制图像处理,它允许生长单独的对象或连接对象。

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

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

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

代码语言:javascript
复制
Dilatation filter = new Dilatation( );
filter.Apply( image );

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-27 17:31:56

我不知道AForge.NET框架,但是维度5x5的侵蚀/膨胀等于维度3x3的两次侵蚀/膨胀。这就是在库中所支持的六边形结构元素所做的工作。

因此,在您的情况下,您只需应用两倍的操作。根据你的守则,它将是:

代码语言:javascript
复制
Dilatation filter = new Dilatation( );
filter.Apply( image );
filter.Apply( image );
票数 2
EN

Stack Overflow用户

发布于 2016-04-27 17:13:49

您可以构造一个扩展过滤器,并将其作为规范的这里传递给它一个自定义结构元素。您想要的结构元素是一个具有以下结构的二维Int数组:

代码语言:javascript
复制
new short[5,5]{ 
{ 1,1,1,1,1 },
{ 1,1,1,1,1 },
{ 1,1,1,1,1 },
{ 1,1,1,1,1 },
{ 1,1,1,1,1 },
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36896018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档