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

c# - 特定尺寸对象的连接组件标签

假设一张图像中有不同大小(50 像素、100 像素和 200 像素)的不同对象。我如何仅标记具有 100 像素或大于 100 像素且小于 200 像素的对象。

我使用 AForge 的 Connected Components Labeling Method 标记了图像中的所有对象。但我不知道如何对特定大小的对象做同样的事情。

解决方案

0 投票
1 回答
2988 浏览

python - Numpy/Scipy 连接组件

我正在用 python 编写一个程序来在 L*L 矩阵中找到 1、0 或 -1 的“孤岛”。我需要它来找到连接组件的这些“区域”,标记它们中的每一个,并能够为矩阵 m[x][y] 的给定元素返回它所属的岛的大小。

这应该给我标记了随机矩阵 m 的岛(只是一个例子),但我不知道如何获得给定点所属的“区域”的大小。你可以帮帮我吗?我几乎没有编程经验,所以如果问题很愚蠢,请原谅我。

谢谢

0 投票
0 回答
825 浏览

python - 查找随机图的连通分量

我一直在努力解决这个问题,搜索其他主题,但找不到任何有用的东西。所以我有一个随机生成的带有 15 个节点的图,我需要在不使用 Python 中 NetworkX 的函数 nx.connected_components 的情况下找到连接的组件。就我而言,找到它们很容易,我使用了以下方法:

所以我得到一个这样的输出:1 [4,6,7]. 我的问题是如何对每个节点及其邻居进行分组,以便获得连接或没有连接的节点组列表。像这样的东西:lis=[[1,4,6,7],[2,3],[5],[8,9,10,11],[0,12,13],[14]]。该代码应该适用于任何大小的随机创建的图形。

0 投票
2 回答
1904 浏览

algorithm - 使用强连接组件进行拓扑排序以找到循环(有向图)

据我所知,如果你有一个现成的高效黑盒方法用于强连接组件,那么进行拓扑排序的一种方法是:

(假设 - 没有自循环)

  1. 运行强连接组件
  2. 如果您有一个或多个大小 > 1 的组件,则此图有循环。
  3. 否则(图中只有 1 个大小的组件)它是 DAG,恭喜!
  4. 如果是 DAG 运行拓扑排序,则抱怨你做不到。

不管效率如何,以上是不是“技术上正确”的拓扑排序方式?

我只是想确保我理解正确。

0 投票
1 回答
248 浏览

c - CvConnectedComp.contour 使用 cvFloodFill 为 NULL

我正在尝试使用CvConnectedComp哪个是cvFloodFill.

我可以comp.rect用来绘制组件,但是我想用它来做进一步的处理comp.contourNULL我也试过不戴口罩,但结果还是一样。

任何想法将不胜感激。

0 投票
2 回答
489 浏览

arrays - 为连接组件标记/Blob 提取实现 LSL

我正在尝试从https://www.lri.fr/~lacas/Publications/JRTIP10.pdf实现光速标记算法。我试图尽可能地遵循论文中描述的算法方法(第 9-12 页),但在等效阶段之后输出没有意义。

有人知道问题是什么吗?

0 投票
1 回答
267 浏览

python - R / SQL /Python:从节点-边对中提取连通分量

我很难想出一个描述我要解决的问题的标题,所以如果你有更好的标题,请发表评论!

解决方案可以是R、Python 或 SQL(准确地说是 Aster TeraData SQL,尽管任何 SQL 语言的解决方案都非常有助于学习)

问题:给定一个无特定顺序的项目对列表,生成一个输出,将与至少一个链接相关的所有对链接在一起。

这是一个使用 R 的简单示例:

所需的输出(在任何易于阅读的数据结构中):

本质上,输入表示节点和边的图。所需的输出是图中连接的所有对象的列表。

任何帮助或想法将不胜感激!

0 投票
3 回答
606 浏览

algorithm - 游程编码数字形状的轮廓

数字形状是二进制图像(斑点)中的一组连接像素。

它可以通过游程编码紧凑地表示,即将像素分组为水平线段并存储起始端点坐标和长度。通常,RLC 表示以光栅顺序存储游程,即逐行并向右移动。

对于平滑的形状,存储需求从 O(N²) 下降到 O(N)。

形状的轮廓是一个封闭的像素链,当其内部被填充(通过填充算法)时,它会恢复形状。它也是一个 O(N) 表示。文中的形状可以作为位图使用,轮廓可以通过轮廓算法获得。

我正在寻找一种算法,它可以直接计算给定 RLC 表示的形状的轮廓,而不是在中间位图中绘制它。该算法预计在运行次数上线性运行。

在此处输入图像描述

你遇到过解决方案吗?

0 投票
1 回答
157 浏览

networkx - Connected components in Networkx disappeared after printing?

I created a graph G and add two nodes. Then I find the connected components of this graph and assign it to variable a.

Then I print the variable a out:

and I get the result as:

After this, I print a again using the same prompt, but got nothing:

I'm very curious about this. I print the connected components out once, and it seems that they disappeared?! Why?!

0 投票
3 回答
1507 浏览

c++ - OpenCv 查看图像中的每个像素值

我正在使用 OpenCv(使用 C++ 语言)进行连接组件标签 (CCL) 操作。要查看 CCL 是否可靠工作,我必须在调试时检查图像中的每个像素值。我尝试将 CCL 的结果保存为图像,但是我无法达到像素的数字值。在调试操作期间有没有办法做到这一点?