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

matlab - 如何为小形状选择合适的结构元素

我试图腐蚀一个小形状,因为它是 MR 图像上的一个区域,我找不到合适的结构元素磁盘不起作用,因为对象非常小,正方形不能给出好的结果,图像:

在此处输入图像描述

提前致谢

0 投票
0 回答
69 浏览

opencv - 是否有机会仅使用形态学操作来检测对象?

如题。是否有机会仅使用函数来“创建”算法:morphologyEx、threshold、bitwise_xor、bitwise_or、bitwise_and、bitwise_not 使用不同的参数来检测图像中的对象(形状)?

我编写了 MEP 程序来查找算法,我只在函数集中使用这个函数。有时我可以找到“不理想”的解决方案,但它不是,但它只适用于训练有素的图像

编辑:示例:

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

参考图片(我想要实现的): 在此处输入图像描述

我的结果(不是很好但很接近): 在此处输入图像描述

但它应该为不同形状的汽车找到解决方案。它是否有可能找到在其他(未经训练的)图片中找到相同形状的算法。我检查了当我增加尺寸或旋转汽车时发现算法也可以工作,但它不适用于类似汽车的其他图片。

我可以将哪个操作(使用 opencv 库)添加到功能集以取得成功?

0 投票
2 回答
887 浏览

matlab - 尝试在 MATLAB 中保持形状时的形态增厚/膨胀

我正在加厚二进制图像。我希望将标签 n 像素扩展到每个方向。

原图:

原始标签图像

起初我使用函数 bwmorph(I, 'thicken', 25) 并得到这个图像:

形态增厚后

这不好。加厚似乎使用了结构元素 [0,1,0;1,1,1;0,1,0],因此它总是将圆形转换为菱形。imdilate 与提到的结构元素会产生相同的输出。

接下来,我尝试使用结构元素 [1,1,1; 迭代扩展原始图像 n=25 次;1,1,1; 1,1,1]并得到以下图像:

迭代膨胀

原来的形状现在完全消失了。

我知道扩张总是会在某种程度上扭曲边界。我尝试了结构元素“磁盘”(r=5,膨胀 5 次)并得到了相当不错的结果:

在此处输入图像描述

这是最好的吗?如果我希望尽可能地保留原始圆形形状,我应该选择哪个结构元素?是否有任何好的经验法则可以为特定的膨胀距离找到合适的尺寸(可以从 10 到 100 不等,标签从圆形到椭圆形不等)?在尝试保持原始形状的同时,是否有更好的方法可以在所有方向上增长二进制图像?

有没有办法保持欧拉特性 - 保持增稠质量,同时将结构元素更改为更合适的东西?

0 投票
0 回答
171 浏览

scikit-image - 在单独的区域上应用形态学操作(关闭)?

我正在使用一些以骨架结尾的过滤器来隔离图像的区域。理想情况下,骨架只包含一定大小的环,但情况并非如此,许多寄生分支会悄悄进入;我使用标签来隔离骨架中的各个循环,但它们包含以下工件:

骨架示例中的区域

为了消除这种噪音,我会应用关闭操作,但它必须一次限制在一个标签上,这样中间边界很薄的区域就不会被混合。是否有此功能,或者我只是从 中提取标签图像skimage.measure.regionprops(...),使用regionprop.image返回的每个单独区域并使用它?如果我单独处理每个像素,我会担心性能。欢迎任何想法。

PS(编辑):图像显示只是分析图像的一小部分,大约有 1k 个标记区域。这就是为什么我也在关注性能。

PS2:这是图像的较大部分:

大图

0 投票
1 回答
39 浏览

opencv - 如果我们给出一个全为 0 或 0 组合的结构元素并且不在乎,那么空白图像的 Dilation 输出应该是多少

假设我的图像数据是

我给出了一个结构元素

膨胀图像的输出是什么?从理论上讲,中心像素应该是 1 对吧?因此,如果我们应用一个只有0 的结构元素并且不在乎空白图像,我们会得到一个白色图像吗?或者这种无形的结构元素是有效的?

0 投票
2 回答
173 浏览

matlab - 移除 1 个像素连接的结构元素

我一直在思考和寻找这个,但可以找到任何东西!谁能帮我找到结构元素

附上图片: 图片链接

谢谢

0 投票
1 回答
93 浏览

c++ - 二元腐蚀变黑

我正在尝试为二进制图像实现形态腐蚀操作。我运行后一切都是黑色的。我已将结构元素(int 数组元素)设置为 3x3 正方形。

0 投票
0 回答
112 浏览

matlab - 圆与矩形相交 - 使用 MATLAB 进行二值图像处理

我需要帮助使用适用于 MATLAB 图像处理工具箱的形态算法检测矩形和圆形相交的区域。解决方案的提示或想法就足够了,不需要 MATLAB 脚本。 示例图片

示例的解决方案

0 投票
0 回答
411 浏览

python-2.7 - 自适应阈值输出不清楚

我有以下代码,当我尝试对阈值图像执行关闭时,它看起来更糟并且没有消除胡椒噪声。

自适应阈值的输出是什么?以及如何将其转换回可用格式以便可以应用关闭?

或者你将如何去除胡椒粉并改善边缘?

高速公路.jpg

0 投票
0 回答
1006 浏览

python - OpenCV - 在 opencv 中是否有基于标记的重建的实现

开放的形态重建类似于基本的形态开放。然而相比之下,重建使用两个图像:一个“种子”图像,它指定传播的值,以及一个“掩码”图像。

Skimage 在这里有一个实现 http://scikit-image.org/docs/dev/api/skimage.morphology.html#skimage.morphology.reconstruction

Matlab 有一个实现,这里解释得很好。 https://www.mathworks.com/tagteam/64199_91822v00_eddins_final.pdf

有一个 2015 年的 StackOverflow 帖子链接在下面,它提出了一个相当好的算法来解决这个问题。从那以后已经两年了,我想知道是否为 opencv 发布了更好的实现,或者是否有人有更好的解决方案。

OpenCV中的形态重建

我宁愿不混合 2 个库(opencv 和 skimage),并试图找出是否有 opencv 方法来进行形态重建。我不是在寻找可以使用的代码,任何指针都值得赞赏。