问题标签 [connected-components]

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 回答
106 浏览

matlab - 给定形状的上下轮廓

我想知道是否有一种方法可以提取连接组件的上下轮廓。

可以先提取轮廓,然后将其拆分为两组像素,顶部和底部的像素,但我不知道如何确定一组给定的轮廓像素

提前致谢。

0 投票
2 回答
1205 浏览

c++ - c++中无向图中的连通分量

我想在 C++ 中计算无向图中的组数。我尝试使用 bfs 但没有成功。我得到了一个数字范围 [L,R](或将这些范围视为顶点数)并且我必须找到组数。我该怎么做?

就像我有(输入):

输出:

因为有2组。

我的代码:

0 投票
2 回答
4352 浏览

matlab - Matlab:分离连接的组件

我正在解决检测硬币的图像处理问题。

我在这里有一些像这样的图像: 二进制组件

并想将错误连接的硬币分开。
我们已经尝试了 MATLAB 主页上所述的分水岭方法:

特别是因为第一个例子正是我们的问题。

但相反,我们得到了一个非常混乱的分离,如您在此处看到的:

在此处输入图像描述

我们已经使用 Extrema 参数提取了硬币的区域,regionprops并且只在需要的区域上投射了分水岭。

我将不胜感激任何有关该问题的帮助,甚至是另一种将其分开的方法。

0 投票
0 回答
137 浏览

c++ - 在单个轮廓中获得多个像素值

您好,在为单个标签进行连接组件标记后,为什么我得到的值不止一个像素?

这是我的形象

在此处输入图像描述

实际上,当我打印图像时,这是一个标签

在此处输入图像描述

但是,当我检查像素值时。我看到实际上有 2 个不同的值(我只是写下矩阵的一部分而不是全部)

H = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 192 , 33 , 0, 192 , 33 , 0, 192 , 33 , 0, 0, 0, 0, ]

同样通过将这行代码添加到FindBlobs函数的最后一行,我收到3,因为label_count变量从2开始,这也证明H是单个标签。

0 投票
1 回答
134 浏览

c++ - 使用openCV在另一个形状内(在不同图像中)形成形状

我正在尝试在 openCV 中实现连接组件树结构。在以一定间隔从 0..255 开始的一系列阈值之后,我获得了一组照片 - 例如: 阈值 150

阈值 170

如果第二张图像中的每个形状包含在第一张图像中的另一个形状中,是否有一种方法可以检测第二张图像中的每个形状?

非常感谢!

0 投票
4 回答
5847 浏览

python - How to aggregate matching pairs into "connected components" in Python

Real-world problem:

I have data on directors across many firms, but sometimes "John Smith, director of XYZ" and "John Smith, director of ABC" are the same person, sometimes they're not. Also "John J. Smith, director of XYZ" and "John Smith, director of ABC" might be the same person, or might not be. Often examination of additional information (e.g., comparison of biographical data on "John Smith, director of XYZ" and "John Smith, director of ABC") makes it possible to resolve whether two observations are the same person or not.

Conceptual version of the problem:

In that spirit, am collecting data that will identify matching pairs. For example, suppose I have the following matching pairs: {(a, b), (b, c), (c, d), (d, e), (f, g)}. I want to use the transitivity property of the relation "is the same person as" to generate "connected components" of {{a, b, c, d, e}, {f, g}}. That is {a, b, c, d, e} is one person and {f, g} is another. (An earlier version of the question referred to "cliques", which are apparently something else; this would explain why find_cliques in networkx was giving the "wrong" results (for my purposes).

The following Python code does the job. But I wonder: is there a better (less computationally costly) approach (e.g., using standard or available libraries)?

There are examples here and there that seem related (e.g., Cliques in python), but these are incomplete, so I am not sure what libraries they are referring to or how to set up my data to use them.

Sample Python 2 code:

This produces the desired output: [Set(['a', 'c', 'b', 'e', 'd']), Set(['g', 'f'])].

Sample Python 3 code:

This produces [set(['a', 'c', 'b', 'e', 'd']), set(['g', 'f'])]):

0 投票
2 回答
3678 浏览

c++ - 双通算法的第二遍(连通分量4-连通性)

我有一个任务,旨在从黑白图像中提取最大的对象,其中黑色是背景。我使用的是 2-pass 算法,这里有一个解释它是如何工作的链接: http://en.wikipedia .org/wiki/Connected-component_labeling#Two-pass

我的问题:1.我正在使用一个结构数组,我想将其尺寸定义为与“输入图像”相同,所以{我该怎么做}

2.我制作了一个包含两列和行数的数组作为等价表,但我不确定我是否正确,我该如何解决?

  1. 如何使用等价表“重新标记第二遍中的像素?如何编写第二遍的代码?

我的代码:

0 投票
1 回答
1558 浏览

matlab - 如何从黑白图像中找到最大的连通分量

我试图从中心作为光盘中心像素的视网膜图像中提取 360*360 像素部分。请帮助我如何从图像中找到连接的组件,然后仅在 matlab 中提取较大的组件。

0 投票
1 回答
334 浏览

matlab - 如何拆分 2 个具有轻微连接的连接对象

我正在从事 OCR 项目,我面临一个问题,即要识别的文本图像可能包含连接的两个字符,所以当我尝试获取每个字符时,它将这两个字符作为一个图像。这是代码

原始图像 原始图像

转换为 BW 后 处理后的图像

0 投票
0 回答
97 浏览

java - 安卓战舰游戏。两通连通分量船碰撞

我目前的任务是为大学制作战舰游戏。所以,我已经设法让船只在网格范围内下降。我现在唯一的问题是验证船舶与其他船舶相撞的船舶布局。我已经阅读过,大概最好的做法是两遍连接组件算法,但我不完全确定我将如何实现它。

这是我目前在 PlaceShips 方法中拥有的内容:

}