问题标签 [superpixels]

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

python - SLIC 图像标注

我是 python 新手。我正在尝试开发一个 GUI 来使用 tknter 标记和分类图像。我需要将普通图像转换为 SLIC 超像素图像,如图所示。获得 SLIC 图像后,我应该能够选择该图像的各个片段并相应地标记。我只有两节课。目前我从 path 加载图像,然后将它们转换为 SLIC 图像。然后单击任意点以捕获该特定点上的 RGB 值和 X、Y 坐标以进行标记。这是我正在使用的代码。

SLIC 图像

0 投票
0 回答
53 浏览

glcm - 如何使用基于 GLCM 的 Haralick 推导从超像素中提取特征?

1 - 我正在提取超像素的特征,我需要实现的提取之一是从灰度共生矩阵 GLCM(灰度共生矩阵)中提取 Haralick 特征。在这个意义上,我明白了,首先我必须提取 Haralick,然后将其应用到 GLCM 以找到我需要的对比度、能量等特征,但我不知道我是否真的正确。如果有道理,你能帮我吗?

2 - 除了了解我是否正确考虑了上面的代码之外,我还需要根据 GLCM 计算 Haralick 的熵,为此,我知道我可以使用 SCIPY 函数或实现 SHANNON ENTROPY,如下所述:

从图像的 GLCM 计算熵 https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.entropy.html

我想实现的 Haralick 考虑这个熵是否合适?

感谢您愿意提供帮助。

0 投票
0 回答
50 浏览

superpixels - 如何使用 python 的质心计算每个超像素的主色?

我一直在寻找答案,我找到了计算质心坐标的代码:

那么,我需要用这个质心来计算python中的主色吗?另一方面,我正在考虑使用 K-means 和 Opencv 来获得它,但我很困惑......

我的意图是代表每个颜色通道的每个超像素的主导颜色特征,例如 b、g、r、h、s、v、l、a、b、l、u、v ......

我想得到一些帮助来解决它。非常感谢

0 投票
0 回答
81 浏览

python - 如何选择和裁剪 SLIC 图像 Python 的多个超像素

超像素图像示例

这是一个切片图像的例子,我怎样才能只裁剪猫眼的超像素或只裁剪猫爪的超像素?

我有这段代码,但它只能裁剪一个超像素:

img = cv2.bitwise_and(img1, img1, mask=mask_inv_slic) #带有slic标记的图像

对于 i, segVal in enumerate(np.unique(label_slic)) :

0 投票
1 回答
43 浏览

java - 如何在 Java 中使用带有参数的 Matlab 脚本?

为了在java中调用一个matlab方法,我做了一个代码草图如下:

对于上面的代码,我打算将作为参数传递给 Matlab 方法,来自 Java 程序的输入是图像分割方法的参数。这些参数是动态的,在程序读取图像目录时,图像会一张一张地变化,直到全部读取完毕。

具有串联字符串传递参数的caminho.concat功能,在同一行,根据每个文件夹中的图像变化等等。但是,考虑到 test.m 字符串的构造并传递其参数,我不知道这是否是最好的方法。简而言之,我对如何进行整合感到困惑。

我在 Matlab 中做了一个代码草图,这样我就可以调用脚本来传递必要的参数,但我不确定,因为我没有太多的语言经验。以下是matlab脚本:

我想从用 Matlab 编写的称为 Superpixels Hierarchy (SH) 的方法中提取超像素。因此,我需要使用输入参数来计算这些超像素,并将此方法的输出用作 Java 程序下一阶段的输入...

您能否帮助我构建字符串并理解这种用于提取超像素作为我的程序的集成?既然我谢谢你。

0 投票
0 回答
39 浏览

matlab - 如何在 Matlab 中保存标记的超像素并以 .pgm 格式将它们可视化?

我正在使用 Matlab 中的 ERS(熵率超像素)算法将图像分割成超像素。我正在考虑形成 200 个超像素。以 .pgm 格式保存文件时,使用命令

我从 0 到 255 的整个范围内得到一个视图,如下所示:

整个范围的 .pgm 格式的 ERS ​​标签

使用命令时

我可以更好地查看所有超像素,如下所示:

0 到 199 范围内的 ERS ​​标签可视化

问题:如何将图像 2 保存为 .pgm 格式?如果保存在限制范围或整个范围内(我不这么认为),是否存在实际差异?关于在 Matlab 中创建 .pgm 文件,我是否应该考虑在其他程序中正确可视化和提取特征(如(颜色和纹理))的任何具体问题?

0 投票
0 回答
341 浏览

python - 如何进行超像素图像分割和特征提取

我对皮肤组织的多类分割感兴趣,我有 3000 个皮肤组织标签分为 4 类,我创建了一个 CNN 分类算法来训练我的分类模型。我想将分类模型用于新皮肤组织图像的分割任务,并对属于每个类别的皮肤组织进行特征提取

以下是为训练我的分类模型而编写的代码

为了分割我的图像,首先我使用 SLIC 将输入图像转换为超像素

我想检查我输入的每个超像素是否被标记为 4 个组织类中的目标类之一,并提取属于每个类的特征作为掩码并量化掩码的总表面积。任何有关如何实施此方法的建议将不胜感激。

0 投票
0 回答
64 浏览

python - Python中的MATLAB超像素函数?

我正在寻找像 MATLAB 的超像素这样的函数。它会做接下来的事情:

[L,NumLabels] = superpixels(A,N)计算二维灰度或 RGB 图像 A 的超像素。N 指定要创建的超像素的数量。该函数返回 L,一个 double 类型的标签矩阵,和 NumLabels,计算的实际超像素数。

问题是这是来自我正在翻译成 Python 的 MATLAB 函数:

这将图像 I 分段,缩放到 rsize,区域数量为 Spixels。MATLAB 的超像素返回一个标签矩阵,该函数稍后使用该函数对 idx 区域进行分组,结果是像素化图像(在给定的超像素数量 Spixels 的函数中)。

所以我想知道,如果没有类似 MATLAB 的 superpixel 函数,或者另一方面,类似于 MATLAB 的 superpixel 的函数可以做到这一点,是否可以减少上面的代码。

在此先感谢,我真的很感激。

(如果你想试试 MATLAB 的代码,rsize 从 0 到 1)。

0 投票
0 回答
31 浏览

opencv - 从 SuperPixels 获取多边形顶点(轮廓)

我在这里有一个问题,我真的无法以简单的方式解决。也许有人可以帮助我从不同的角度看待这一点。基本上,我有两个大小相同的xy矩阵坐标。第一个(掩码)包含只有两个不同值的像素:-1 和 0。第二个(标签)可以包含具有整数值(从 1 到 1000)的像素。

这两个矩阵的表示如下:

  • 掩码表示构成不同超像素轮廓的像素:如果 -1 我们在边界上,否则为 0。
  • 在标签矩阵中,每个标签代表一个超像素,每个像素都分配给一个超像素标签。

我的目标是结合这两个矩阵,为每个超像素创建相关的凹多边形来提取他的顶点。

到目前为止,我的解决方案是:

  1. 创建字典:键是表示超像素的标签,值是包含超像素轮廓像素的数组。
  2. 运行 ConvexHull 以查找字典每个键的凸多边形。
  3. 对于我找到的每个凸多边形,运行一个算法来检测与凹相关的多边形(https://github.com/sadaszewski/concaveman-cpp)。

不幸的是,我对这个解决方案不够精确,因为结果可能与原始超像素不同。

两个矩阵的简单示例:

标签:

1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 2 2 2 1 1
1 1 2 2 2 1 1
1 1 2 2 2 1 1

面具:

-1 -1 -1 -1 -1 -1 -1
-1 -1 0 0 0 0 -1
-1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1
-1 -1 -1 0 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1

非常感谢您的帮助!