问题标签 [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.
opencv - 是否有机会仅使用形态学操作来检测对象?
如题。是否有机会仅使用函数来“创建”算法:morphologyEx、threshold、bitwise_xor、bitwise_or、bitwise_and、bitwise_not 使用不同的参数来检测图像中的对象(形状)?
我编写了 MEP 程序来查找算法,我只在函数集中使用这个函数。有时我可以找到“不理想”的解决方案,但它不是,但它只适用于训练有素的图像
编辑:示例:
但它应该为不同形状的汽车找到解决方案。它是否有可能找到在其他(未经训练的)图片中找到相同形状的算法。我检查了当我增加尺寸或旋转汽车时发现算法也可以工作,但它不适用于类似汽车的其他图片。
我可以将哪个操作(使用 opencv 库)添加到功能集以取得成功?
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 不等,标签从圆形到椭圆形不等)?在尝试保持原始形状的同时,是否有更好的方法可以在所有方向上增长二进制图像?
有没有办法保持欧拉特性 - 保持增稠质量,同时将结构元素更改为更合适的东西?
scikit-image - 在单独的区域上应用形态学操作(关闭)?
我正在使用一些以骨架结尾的过滤器来隔离图像的区域。理想情况下,骨架只包含一定大小的环,但情况并非如此,许多寄生分支会悄悄进入;我使用标签来隔离骨架中的各个循环,但它们包含以下工件:
为了消除这种噪音,我会应用关闭操作,但它必须一次限制在一个标签上,这样中间边界很薄的区域就不会被混合。是否有此功能,或者我只是从 中提取标签图像skimage.measure.regionprops(...)
,使用regionprop.image
返回的每个单独区域并使用它?如果我单独处理每个像素,我会担心性能。欢迎任何想法。
PS(编辑):图像显示只是分析图像的一小部分,大约有 1k 个标记区域。这就是为什么我也在关注性能。
PS2:这是图像的较大部分:
opencv - 如果我们给出一个全为 0 或 0 组合的结构元素并且不在乎,那么空白图像的 Dilation 输出应该是多少
假设我的图像数据是
我给出了一个结构元素
膨胀图像的输出是什么?从理论上讲,中心像素应该是 1 对吧?因此,如果我们应用一个只有0 的结构元素并且不在乎空白图像,我们会得到一个白色图像吗?或者这种无形的结构元素是有效的?
matlab - 移除 1 个像素连接的结构元素
我一直在思考和寻找这个,但可以找到任何东西!谁能帮我找到结构元素
附上图片:
谢谢
c++ - 二元腐蚀变黑
我正在尝试为二进制图像实现形态腐蚀操作。我运行后一切都是黑色的。我已将结构元素(int 数组元素)设置为 3x3 正方形。
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 发布了更好的实现,或者是否有人有更好的解决方案。
我宁愿不混合 2 个库(opencv 和 skimage),并试图找出是否有 opencv 方法来进行形态重建。我不是在寻找可以使用的代码,任何指针都值得赞赏。