问题标签 [image-segmentation]

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 投票
3 回答
19048 浏览

c# - 图像分割 - 拆分和合并(四叉树)

有没有实现图像分割的拆分和合并方法?任何建议将不胜感激。

0 投票
1 回答
825 浏览

matlab - 从粗“线”中分割出 3D 形状

我正在寻找一种在 matlab 中查找 3D 图像中的形状的方法。我现在没有真正的 3D 示例图像;事实上,我的 3D 图像实际上是一组量化的 2D 图像。

下图是我想要完成的:

在此处输入图像描述

虽然上面的示例图是 2D 图像,但请理解我试图在 3D 中执行此操作。输入形状有这些“触手”,我必须在其中寻找不规则形状。触手的大小从一个点到另一个点可以变化,但以“一致和平滑”的速度变化——也就是说它一开始可能很大,然后逐渐变小。但如果突然,形状只是变大而不是逐渐变大,就像上图中的红色右下角区域,那么这就是感兴趣的体积之一。请注意,这些形状更倾向于圆形和球形,但其中一些是完全任意和随机的。

到目前为止,我已经尝试了以下方法:

  1. n 次腐蚀和 n 次扩张:考虑到“触手”总是小于感兴趣的体积,只要体积不太小,这种方法就可以工作。而且,我们需要有一种机制来处理以某种方式变成误报的触手的较粗部分。

  2. Hough 变换:虽然我之前已经建议过这种方法(来自Segmenting circle-like shapes out of Binary Image),但我发现它适用于一些更圆形的情况,但同时,更困难的情况是不那么圆润、扭曲和/或任意形状可能会通过这种方法。

  3. 等值面:因为我的输入是一组 2D 量化图像,所以使用等值面可以让我重建 3D 图像并看得更清楚。但是,我不确定在这种情况下可以进一步做些什么。

那么任何人都可以提出一些其他技术来从这些“触手”中分割出这种形状吗?

0 投票
1 回答
940 浏览

image - 分支点(OpenCV,C++)

我想在这张图片中识别闪电的分支点:

http://i.stack.imgur.com/PXujf.jpg

我首先做的是对图像进行阈值处理,这样我就可以得到图像的亮部并丢弃背景。这是结果

http://i.stack.imgur.com/IYNTi.jpg

我在 openCV 中使用了阈值函数,结果图像非常糟糕,因为质量下降,分支不再可见。

好的,基本上我有两个问题:

  1. 如何正确分割图像,以便正确捕获图像的闪电部分。
  2. 那么,我该如何识别分支点?对于每个分支点,我想在它上面画一个红色圆圈。

提前谢谢你

0 投票
2 回答
905 浏览

image-processing - 具有梯度填充区域的图像分割

我必须进行图像分割。这个想法是将图像划分为具有相似颜色或可以由梯度方程(线性或径向)表示的像素的区域。我发现了许多基于颜色进行分离的算法,但找不到任何处理渐变的算法。有人知道任何这样的算法或关于如何去做的建议。

0 投票
3 回答
1482 浏览

image-processing - 如何在标签矩阵中绘制对象的轮廓

我有一个分割图像的标签矩阵。例如,


1 1 1 2 2 2 3 3 3 4 4 4
1 1 1 2 2 2 3 3 3 4 4 4
1 1 1 2 2 2 3 3 3 4 4 4
1 1 1 2 2 2 3 3 3 4 4 4
1 1 1 2 2 2 3 3 3 4 4 4
1 1 1 2 2 2 3 3 3 4 4 4
1 1 1 2 2 2 3 3 3 4 4 4
1 1 1 2 2 2 3 3 3 4 4 4

现在我想绘制每个对象的轮廓,使每个对象边缘的像素值为 1,其他像素值为 0。

像这样的东西


1 1 1 1 1 1 1 1 1 1 1 1
1 0 1 1 0 1 1 0 1 1 0 1
1 0 1 1 0 1 1 0 1 1 0 1 1
0 1 1 0 1 1 0 1 1 0 1
1 0 1 1 0 1 1 0 1 1 0 1
1 0 1 1 0 1 1 0 1 1 0 1 1 0 1
1 0 1 1 0 1 1 0 1
1 1 1 1 1 1 1 1 1 1 1 1

我希望有一个函数可以在 Matlab 中执行此操作,但我不知道。

0 投票
2 回答
5126 浏览

image-processing - 图像中文本检测的边缘检测问题

我正在尝试实施Epshtein的论文Detecting text in natural scene with stroke width transform(2010))关于自然图像中的文本检测。第一步是边缘检测。

我的文本中有一些额外的边缘。我应该如何删除这些?

原图:

在此处输入图像描述 我的边缘检测: 在此处输入图像描述

在示例中,您可以在文本“WHY HURRY”中看到额外的边缘

我在 Matlab 中尝试了这些步骤:


问题2:

根据 belisarius 的建议,我发现均值偏移过滤器对于文本区域分割非常有效。现在我在实现Stroke Width 变换时遇到了另一个问题(请看 Epshtein 的论文)。

Stroke Width 适用于像 'H''Y' 这样的字符,即使对于 'S' 也是如此,因为如果我们沿着渐变方向前进,相应的边缘通常是恒定的距离。

问题出现在像“W”这样的字符中。对于第 1 次上冲的左边缘的一部分,我们将第 2 次上冲的右边缘作为其对应边缘。而对于另一部分,我们得到1st upstroke 的右边缘。这在“W”区域的笔划宽度上引入了显着差异,导致根据论文将其称为非文本区域。

任何人都可以提出任何解决方案吗?

0 投票
1 回答
7542 浏览

java - Java中的图像分割库

我正在开展一个项目,该项目包括“通过计算机阅读图表”的过程,我需要进行图像分割以识别图像输入中的形状及其位置。我的教授说我可以使用任何公共图像分割库来做到这一点。有没有什么好的图像分割库可以达到这个目的?

多谢

0 投票
3 回答
12427 浏览

matlab - K表示聚类和Matlab

我需要kmeans在 rgb 图像上使用该功能。算法的每个元素都需要有 3 个维度,一个用于图像的每个通道。元素的数量将是图像的像素总数。我需要kmeans在集群 #5 上使用。

所以这就是我尝试的:


我不知道我做的对不对。我有这个错误:

谁能帮我一把?谢谢

0 投票
1 回答
377 浏览

c# - 在不损害纹理的情况下更改对象的颜色

我的目标是在不损坏纹理的情况下更改对象的颜色。据我了解,更像是更改色调和饱和度或更改 RGB 颜色通道值。通过设置阈值,我可以隔离对象,但我很难弄清楚如何将颜色更改应用于对象。

在此处输入图像描述

在此处输入图像描述

0 投票
4 回答
4870 浏览

c# - 使用阈值分割图像的一部分

我试图隔离和分割黄色车身以改变它的颜色。为此,我需要从图像中分别识别身体。并继续使用剩余的白色像素进行演说。我使用 C#,这里是计划

简单的阈值处理将导致车身未正确分离的第二张图像。我尝试了 Aforge.net 填充孔图像过滤器,但没有对阈值图像进行重大更改。我尝试使用滤色器,但由于身体的颜色变化,我没有返回正确的输出。任何人都可以为此提出建议和解决方案吗?

原始图像

原始图像

阈值图像

阈值图像