Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 在二维和三维对象中查找弱(最小直径)连接的算法_Algorithm_Matlab_Image Processing_Computer Vision - Fatal编程技术网

Algorithm 在二维和三维对象中查找弱(最小直径)连接的算法

Algorithm 在二维和三维对象中查找弱(最小直径)连接的算法,algorithm,matlab,image-processing,computer-vision,Algorithm,Matlab,Image Processing,Computer Vision,以下任务:假设您已获得一组连接的a)2D点和b)3D点。任务是,找到点集中n个“最弱”的连接。也就是说,我们需要他们的位置和实力。弱连接是指在分隔线/面积较小的位置(即最小直径)将物体分成若干部分 示例:假设您有两个3D对象(例如,一台机器有一个通过“手臂”连接到它的监视器)。我现在希望能够找到这个“手臂连接”,能够说出它的弱点在哪里,它有多强 图中给出了另一个示例: 我们看到一个3D点云,我用红线标记了两个“弱连接”——基本上是点云中最薄的连接 2D示例可能如下所示: 我再次将所需的连接标

以下任务:假设您已获得一组连接的a)2D点和b)3D点。任务是,找到点集中n个“最弱”的连接。也就是说,我们需要他们的位置和实力。弱连接是指在分隔线/面积较小的位置(即最小直径)将物体分成若干部分

示例:假设您有两个3D对象(例如,一台机器有一个通过“手臂”连接到它的监视器)。我现在希望能够找到这个“手臂连接”,能够说出它的弱点在哪里,它有多强

图中给出了另一个示例:

我们看到一个3D点云,我用红线标记了两个“弱连接”——基本上是点云中最薄的连接

2D示例可能如下所示:

我再次将所需的连接标记为红色

您将如何有效地搜索这些连接


我能做的是考虑每个点的X最接近的邻居。如果x足够大,那么在这些瘦连接处,到这些邻居的平均距离将非常大。然而,我不认为这是一种非常快速和稳定的方式。你能想出一个更好的选择吗?

我要做的是迭代地收缩数据集(收缩意味着删除不属于对象本身的相邻点(水平或垂直)。想象一下这就像剥洋葱皮。每次洋葱变小

现在重要的是,弱连接首先会变薄(只有一个像素宽)。所以你必须在这个迭代收缩中检查突然出现的薄连接,即两部分之间的桥梁。这是在2D中通过顺时针旋转像素并检查从对象到非对象的更改频率来完成的。如果您在四处走动时多次转到非对象,则像素是一座桥

或者,对于3D,我会做进一步的收缩,寻找分离的区域,因为在收缩时,你的物体会在最薄弱的连接处分裂。如何检测除法?通过填充。使用任何填充算法


如何在Matlab中实现这一点?我现在不能做一个完整的算法,但你可以按照上面的想法,我可以推荐免费的Matlab。我知道它内置了二进制区域的收缩功能,尽管没有它也不太困难。

发布一个示例图像?它是固体区域的二值图像吗?另外,你真的应该定义“最弱的”,你是说最瘦的吗?我会-1。试试2。多试试3。如果有任何问题,我会在网上搜索资源/书籍/等等。如果有任何具体的问题,我可能会问stackoverflow的人。这是一个图像处理算法问题,也不是一个容易的问题。它可能更适合另一个stackexchange,例如,在中,尽管考虑到大量的用户,您在这里也有一些机会。user18。。我对你问题的理解是软弱的。如果您不同意,只需编辑您的问题。@Trilarion以后,请在评论中要求澄清。我知道请求原谅比较容易,但编辑是不允许更改(这也意味着“添加”)帖子中的信息的。