问题标签 [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 投票
2 回答
1154 浏览

matlab - 两个连接边界的形态分离

我有一个关于以下场景的问题。当我对图像进行后处理时,我得到了一个轮廓,不幸的是,正如你在底线看到的那样,它连接了两次。为了清楚起见,我想要的只是外线。因此我放大并标记了这条线,我想要大图像。

我从这个选择中想要的只是外部部分,我在下一张图片中将其标记为绿色。对不起我的绘画技巧不好。;)

我正在使用带有 IPT 的 MatLab。所以我也尝试使用bwmorphandhbreak选项,但它抛出了一个错误。

我该如何解决这个问题?如果你成功了,你能告诉我更多关于它的信息吗?先感谢您!

真挚地

0 投票
2 回答
1495 浏览

c++ - 二值和灰度值图像的腐蚀/膨胀

我们必须首先实现 Erode 算法,该算法必须适用于二进制和灰度图像。

这是我们的代码:不完整

我的问题是我是否可以对这两种类型使用 min max 运算符?或者我应该提出一个案例问题,如果当前图像是二进制然后处理图像?

0 投票
1 回答
1270 浏览

image-processing - 具有零结构元素的 Erose/Dilate 图像

如果我有一个结构元素,看起来像这样(原点位于 SE 的中心):

如果我对二进制图像执行腐蚀/膨胀,结果全是 0 或 1。有人可以向我解释一下吗?(通过matlab检查)
非常感谢。

0 投票
1 回答
857 浏览

image-processing - 具有仅包含原点的结构元素的侵蚀/膨胀图像?

如果我们使用仅包含原点的结构元素腐蚀/膨胀图像,结果是否与原始图像相同?

0 投票
1 回答
3579 浏览

matlab - 如何使用 Matlab 计算骨架图像中的分支长度

我是 Matlab 的新手。我正在对骨架图像进行图像处理。我正在使用bworphMatlab 中的函数检测分支点和端点。现在我想计算骨架图像中每个分支的长度。Matlab中有哪些不同的选项以及如何计算图像的长度?

以下是我用来查找分支点和端点的代码。现在我想去图像中的每个分支并确定它的长度。

0 投票
1 回答
605 浏览

matlab - 比较图像matlab

好的,假设我有一个二进制图像,其中包含 1,2,A,B 或其他的像素表示。但现在让我们只考虑 1

然后我有另一个包含 1 的标准表示的图像。

现在我不想比较这两个图像并确定我的第一张图像是否包含 1 的像素值。

我可以使用哪些算法?

请我不需要 matlab 函数的名称来进行图像比较,就像类似问题的答案一样。而不是我需要一些可用于解决此问题的算法的名称,以便我可以在 C# 中自己实现它

0 投票
1 回答
1127 浏览

opencv - 精明的边缘与骨架化

到目前为止,我一直在我的项目中使用 Canny 边缘算法,因为有很多关于它的教程和示例。然而,就我而言,骨架化似乎产生了更好的结果。

第一张图:原始图,第二张图:canny,第三张图:骨架化

在此处输入图像描述

我想使用骨架化,但我一直在避免,因为在我的脑海里,我一直在想它一定有我不知道的缺点,因为似乎没有人喜欢这个。

我想知道每种方法的优缺点?

0 投票
2 回答
1096 浏览

image-processing - 寻找特定的细化算法

我有一个二进制图像,为简单起见,我们假设它是一条简单的直线:

我想将它扩展 2px。

为此,我通过两次迭代应用了膨胀,并且正如预期的那样:

然后,我的想法是简单地应用细化并将初始线延长两个像素。但相反,我得到了缩短的线条,可能是因为线条粗细:

然后我想用菱形结构足迹应用膨胀而不是 3x3 个(),但结果更糟 - 线被缩短了一个像素。

对于细化,我使用了 Zhang-Suen 算法Guo-Hall 算法,我还尝试了 skimage 暴露的 Otsu 方法,得到了类似的结果。

有人可以告诉我细化算法的存在可以让我走向哪里,或者可能是不同的方法吗?


更新(以解决@marinus 评论):

如前所述,我喜欢将初始行延长 2px 并得到:

虽然我不能用我的细化方法,因为细化似乎是这样工作的:

图像

因此,仅通过扩大初始线,我不可能通过细化来扩展它。

0 投票
2 回答
4368 浏览

opencv - 可以删除 opencv 或 scikit 图像中的 Skeleton 小分支吗?

在骨架过程中是否可以删除小分支?

如这张图片: http: //felix.abecassis.me/wp-content/uploads/2011/09/skel_opencv.png

只有 O 字母是完美的,但不是所有其他字母。

在过程中或之后有办法删除这个小分支吗?我使用 python opencv,但也可以使用 pymorph 或 scikit-image 的解决方案。这是我用于骨架化的代码: 代码

原图: http: //felix.abecassis.me/wp-content/uploads/2011/09/opencv.png

0 投票
3 回答
3255 浏览

python - 如何使用 python 库在骨架图像中找到循环?

我有很多这样的骨架图像:

在此处输入图像描述 在此处输入图像描述

我怎样才能检测到一个循环,一个骨架中的循环?是否有执行此操作的“特殊”功能,或者我应该将其实现为图形?

如果只有图形选项,python 图形库 NetworkX 可以帮助我吗?