问题标签 [mathematical-morphology]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
308 浏览

matlab - MATLAB中的自适应椭圆结构元素

我正在尝试为图像创建一个自适应椭圆结构元素来扩大或侵蚀它。我编写了这段代码,但不幸的是所有的结构元素都是ones(2*M+1).

a,bphi是半长轴和半短轴长度, phi 是ax 轴和 x 轴之间的角度。

我使用 2 个 MATLAB 函数来计算图像的局部结构张量,然后计算每个像素的特征值和特征向量。这些是矩阵l1l2和。e1e2

0 投票
1 回答
289 浏览

c++ - 二维字符数组的膨胀/腐蚀

我试图弄清楚为什么我的扩张图像功能没有产生正确的输出。

我的目标是变成这样:

进入这个:

对于每个扩张周期。

我没有想到它,但我也需要逆向侵蚀。

到目前为止,这就是我想出的(程序在命令行中使用用户输入argv):

dialationn到目前为止我实现的函数使用双循环循环遍历二维数组,当它找到应该被扩张的字符时,它会检查边界是否在附近并相应地设置坐标。

0 投票
2 回答
2516 浏览

python - Tensorflow 膨胀的行为与形态膨胀不同

如以下代码所示,张量流tf.nn.dilation2D函数的行为不像传统的膨胀运算符

返回以下张量:

我也不明白它为什么会这样,也不明白我应该如何使用它tf.nn.dilation2d来检索预期的输出:

有人可以启发 tensorflow 的简洁文档并解释该tf.nn.dilation2D函数的作用吗?

0 投票
1 回答
1216 浏览

python - 如何使用python制作一个十字形内核以在openCV中应用形态变换?

我是初学者,不知道如何使用 python 在 openCV 中制作十字形内核?我想制作一个 3x3 的十字形内核,这样我就可以对 A1 应用形态变换,并且内核是 B1。

这是A1和B1的图片。

这是A1和B1的图片。

这是我为内核所拥有的,但我得到一个名称错误:名称“数组”未定义。

0 投票
1 回答
6398 浏览

python - 尝试对 8x8 矩阵进行形态变换时出错

我正在尝试对具有 3x3 十字形内核的 8x8 矩阵进行形态转换。我想用内核 B1 应用腐蚀、膨胀、打开和关闭 A1。我收到一个错误,我不知道如何解决这个问题。 这是矩阵和内核的样子

这就是我到目前为止所拥有的。

我不知道为什么我会收到这个错误?

0 投票
1 回答
106 浏览

matlab - 球的结构元素中的最大偏移高度是多少?

我正在尝试在 MATLAB 中使用闭合形态操作,imclose(volume, SE)使用半径为 13 个体素的球结构元素。

创建一个球结构元素的过程是这样的 SE = offsetstrel('ball',r,h)

文档中所述,h

最大偏移高度,指定为实数标量。双类型的。

最大偏移高度是多少?

0 投票
0 回答
532 浏览

python - 在 skimage python 中使用测地线膨胀进行图像重建的问题

我正在尝试使用 python 中的 skimage 库重建我的灰度图像。我曾将标记图像用作灰度图像,将侵蚀图像用作蒙版图像,但是当我应用膨胀时,我的输出图像是完全白色的。任何人都可以告诉我如何创建用于重建图像的 4 个连接的结构元素。

我已经提供了我编写的部分代码。对于图像的侵蚀,我使用了圆盘形 3 的结构元素

我想获得图像的边缘,但我重建的图像是完全白色的

0 投票
1 回答
175 浏览

imagemagick - 为什么 Imagemagick 的形态膨胀算法与数学定义不同?

原始图像

生成者:

膨胀过程

使用一个 2x1 矩形作为中心点 (0,0) 的内核:

处理者:

预期产出

实际输出

问题

为什么输出出乎意料?我想知道 ImageMagick 如何处理膨胀。

以下是我的理解:

当内核的中心点迭代到原图的位置(0,1)时:

我认为 (0,1) 应该1在 AND 操作之后。

0 投票
1 回答
96 浏览

python - 在 PGM 格式文件中实现膨胀过滤器

我目前正在做一个学生项目,对灰度 pgm 文件进行一些图像处理(膨胀和侵蚀)。我试图在图像对象上实现膨胀,但得到了奇怪的结果。我预计图像对象会比原始图像大。但是我得到了对象的多个副本,具体取决于我使用的内核大小。

原图:

原图

膨胀结果:

膨胀结果

这是我的膨胀源代码

轴向_68.pgm

我非常确定我的文件读取和写入功能可以正常工作,因为我可以使用它来正确读取和写入其他源 pgm 文件。

我发现非常奇怪的一件事是我可以像这样打印半个 pgm 文件。

半水平

使用代码

但是当我使用此代码并期望使用代码半垂直时:

我懂了:

半垂直

我已经用其他一些生成的 pgm 文件尝试过这个,结果都是一样的。我想知道我的膨胀代码是否与这种奇怪的行为有关。

0 投票
1 回答
489 浏览

python - 自适应灰度膨胀实现

给定一个值从 0 到 的 2D 数组n,我想通过每个像素包含的值来扩展每个像素,较高的值应该在扩张期间覆盖较低的值。

也就是说,半径内与像素值相等的任何像素,如果它们的值较小,则继承​​该值。例如,如果输入为[0 1 0 2 0 0],则输出为[1 2 2 2 2 2 ]

这怎么可能实现?