问题标签 [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 回答
3987 浏览

matlab - 在opencv中实现imclose(IM, SE)

我想检测以下图像的背景,其前景总是很多黑点:

图片.png

在此处输入图像描述

有人用圆盘形结构元素对图像进行形态闭合,得到了很好的结果:

在此处输入图像描述

Matlab代码:

那么如何在 opencv 中实现 imclose(IM, SE) 来代替 MATLAB 中的工作,或者还有另一种更好的方法来使用 opencv 方法检测这种背景?

0 投票
2 回答
2534 浏览

matlab - 在 Matlab 上改进纹理分割结果

在此处输入图像描述 欧几里得距离分割后的图片(只是绝对的,不是绝对平方的)在此处输入图像描述 原始纹理图片

当我使用 Kmeans 算法和 Laws Texture Energy 过滤器(集群质心/组 = 6)执行聚类时,我得到了上面的结果(图 1)

改进结果的可能方法是什么?从结果可以看出,纹理没有明确的界限。可以以某种方式实现膨胀/侵蚀吗?如果是,请指导。

0 投票
1 回答
663 浏览

multiscaleimage - 多尺度形态膨胀和侵蚀

任何人都可以指定多尺度形态过滤的含义吗?我了解膨胀和腐蚀的基本概念。但在多尺度滤波中,使用了尺度结构函数。规模化这个词是什么意思?

请在此处找到更多相关信息:请查看链接。我想在 matlab 编码中应用这个结构元素,但不能这样做。请任何人都可以帮助我吗?

0 投票
1 回答
4268 浏览

image-processing - 什么是计算机视觉中的打开和关闭

在计算机视觉中打开和关闭的解释是什么?我试图得到一个有根据的解释。

0 投票
1 回答
846 浏览

matlab - Matlab中的多尺度形态图像简化

大家好,我目前正在尝试在 Dorini 使用论文“Multiscale Morphological Image Simplification”的 SMMT 算。由于没有订阅就无法访问该页面,因此我在此处发布相关详细信息:

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

请注意,我将相关文章的部分内容作为图片发布。我不知道如何在 stackoverflow.com 中编写方程式。我想将此 SMMT 运算符用作图像处理中的预处理步骤。我写下的代码如下:

代码的结果应该是这样的:(再次来自论文) 在此处输入图像描述:。

我的结果是这样的:- 在此处输入图像描述

我的实现是否正确?可以进一步改进吗??任何建议都会有所帮助。提前感谢您的帮助!有关详细信息,请参阅Dorini 免费访问

0 投票
0 回答
1019 浏览

matlab - 来自点云数据的图像空间中的二进制掩码

嗨!

我有一个代表室内场景的墙壁和地板的点云。我将地板的点投影在平面上。这意味着它现在是一个“二维点云”。所有 z 坐标均为零。

我必须处理丢失的部分。我现在的想法是填补漏洞。有没有办法将点转换到图像空间以创建二进制掩码?我想在 Matlab 中使用诸如“imfill”之类的技术......

谢谢

编辑:

为了更清楚,我将解释一个简单的例子。我有二维点。进行三角剖分后,我可以访问每个三角形。对于每个三角形,我使用 poly2mask() 创建一个二进制掩码,并将每个掩码写入最终图像。这是一个例子:

现在我可以对图像使用形态学操作。EG:这是一个更复杂的例子,三角剖分给了我不好的结果:

为了填补右侧的洞,我可以使用形态学操作。我的问题:点可以是负数,三角形之间的距离可以很小(例如:三角形的x坐标:(1.12 1.14 1.12),会给我图像空间中的点1

0 投票
1 回答
2187 浏览

matlab - 在 MATLAB 中使用大小为 nxn 的邻域对灰度图像进行形态膨胀

扩张过程是通过将结构元素 B 放在图像 A 上并以类似于卷积的方式在图像上滑动来执行的。

我了解灰度图像的数学形态膨胀背后的主要概念,但我仍然有一个问题:

用户可以不选择结构元素的值吗?换句话说,我们可以通过选择结构元素的大小和形状而不指定其元素来对图像执行膨胀处理吗?

为了更精确,我将通过一个例子很好地解释我的问题:假设一个灰度图像I160 x 160处理(在这种情况下是扩大)大小为 8 x 8 的邻域。我没有指定这个邻域的元素,所以它们的元素来自图像本身。例如我写了下面的matlab代码:

其中函数max_filter是:

这仍然被认为是形态扩张操作吗?回想一下,我使用了一个大小为 8 x 8 的结构元素。

0 投票
2 回答
86 浏览

shapes - 从图像中减少噪音/改善形状

使用图像分割,我从网络摄像头分割对象。但是由于光线不好,我在照片中得到了很多噪点。我现在想改进找到的对象的形状。我发现的唯一方法是图像打开和关闭,但结果没有我希望的那么好。有人知道其他方法吗?

这个文件夹中,我有分割后的原始图像,关闭后的图像,以及我正在寻找什么样的图片的图片。

提前致谢

0 投票
1 回答
1246 浏览

c++ - gpu::morphologyEx 比 CPU 中的morphologyEx 慢?

我正在编写一个 c++ 代码,用于比较使用 CPU 和 GPU 版本的 opencv 的morphologyEx 方法的性能。这是我的代码:

我正在使用循环,就好像我正在模拟包含 100 帧的视频一样。我正在使用 NVIDIA Corporation GF110 [GeForce GTX 570] 和 Intel Corporation Xeon E5/Core i7 DMI2。此外,我测试了上传和下载的时间,第一帧非常大,但之后上传可以忽略不计,每帧为0.02ms,下载为0.1ms,主要时间消耗是morphologyEx操作.


本次模拟的时间结果如下:

CPU形态版本,100帧平均时间为::0.027349 ms,GPU版本为::18.0128 ms

你能帮我弄清楚这种意想不到的表现可能是什么原因吗?!

非常感谢你。

0 投票
1 回答
482 浏览

python - 使用 scipy 确定“瓶颈”图像区域

我正在使用进行图像处理和数学形态学,并且非常喜欢它。我们的工作涉及模拟电荷在各种电影中的移动,我们正在尝试使用图像分析工具来估计为什么不同的形态比其他形态更好。

我很快就能够使用 ndimage.label 和 distance_transform_edt 找到连接的组件并确定它们的大小。我还实施了广度优先搜索,以找到组件和代表电极的边缘之间的最小路径。

现在,我想确定“瓶颈”或“窄通道”区域。我什至不确定我是否在搜索正确的关键字,因为我的专业知识并不是真正的图像处理。我在下面给出了两个例子。我想找到像红色圆圈这样的特征并计算它们并确定它们的大小分布。(考虑到收费将更容易通过更广泛的瓶颈。)

问题是我不能标记这些,因为它们不是独立的组件。距离变换在边缘给了我很小的数字。我想要通过这些瓶颈的最小距离。

有什么建议在哪里看或一般策略?

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