问题标签 [ndimage]

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

python - scipy ndimage 测量标签无法正常工作

我正在尝试将此图像标记为两个区域: 在此处输入图像描述

这是我的代码:

这是带有低通滤波器的过滤图像“results.png” 在此处输入图像描述

我的问题是我得到的输出是 1 而我期待 2

标签代码本身是否有问题。在我看来这很简单

0 投票
3 回答
2733 浏览

python - 逐像素读取图像(ndimage/ndarray)

我有一个存储为ndarray. 我想遍历这个数组中的每个像素。

我可以像这样遍历数组的每个元素:

这给出了即:

这些是像素中每种颜色的值,一个接一个。我想要的是 3 到 3 读取这些值以产生如下内容:

0 投票
3 回答
3382 浏览

python - 从 Python 数组中删除完全隔离的单元格?

我试图通过删除所有完全隔离的单个单元格来减少二进制python数组中的噪声,即如果它们完全被其他“0”包围,则将“1”值单元格设置为0。我已经能够通过使用循环删除大小等于 1 的 blob 来获得一个可行的解决方案,但这对于大型数组来说似乎是一个非常低效的解决方案:

在这种情况下,侵蚀和扩张我的数组将不起作用,因为它也会删除宽度为 1 的特征。我觉得解决方案位于scipy.ndimage包中的某个位置,但到目前为止我还无法破解它. 任何帮助将不胜感激!

0 投票
2 回答
948 浏览

python - 具有多维(或非标量)输出的 Scipy 过滤器

是否有类似于支持向量输出ndimagegeneric_filter的过滤器?我没有设法使scipy.ndimage.filters.generic_filterreturn 超过一个标量。取消注释下面代码中的行以获取错误:TypeError: only length-1 arrays can be converted to Python scalars.

我正在寻找一个处理 2D 或 3D 数组并在每个点返回一个向量的通用过滤器。因此,输出将增加一个维度。对于下面的示例,我希望是这样的:

示例代码

0 投票
1 回答
1730 浏览

python - Scipy NDimage 相关:慢得难以忍受

我正在使用 Python 3.3 运行代码。目标是将 data_3d(1000x1000x1000 布尔 ndarray)与内核(35x35x35 浮点 ndarray)相关联。

然后我执行另一个相关性以对先前的结果求和。因此,我将另一个 1000x1000x1000 布尔 ndarray 与 35x35x35 浮点 ndarray 相关联——这与上一步完全相同。

这就是我感到困惑的地方:第一个关联在 70 秒内完成;第二个(看似相同)过程从未完成(即等待了一个多小时......)。

我尝试减小第二个相关的大小(例如,与 5x5x5 数组相关),结果相同。

据推测,这不是内存问题。在第二个过程中,内存稳定在 18 GB(但我仍然有 14 GB 可用......)。

这是怎么回事?

这是我的代码:

A部分:

B 部分:下一部分永远不会完成!

编辑:我找到了解决方案。A 部分的内核非常稀疏,而 B 部分的内核已完全填充。Scipy 必须有一些幕后魔术来修改稀疏矩阵的过滤器大小......这使得 A = O(N^3) 和 B = O(N^3 * n^3) 的时间复杂度,其中N = 图像的一维大小,n = 内核的一维大小。

0 投票
1 回答
2988 浏览

python - Numpy/Scipy 连接组件

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

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

谢谢

0 投票
1 回答
60 浏览

python - Scipy.generic_filter - 窗口转换为一维

我正在尝试使用 scipy.generic_filter 来处理图像。但是,我需要在我正在应用的函数中进一步对窗口进行子集化。换句话说,我需要知道用于在通用过滤器中将 2D 窗口转换为 1D 数组的过程(函数),这样我才能以正确的方式在应用函数中重新创建 2D 数组。有人知道 scipy 过滤器使用什么功能将 2D 重塑为 1D 吗?

0 投票
1 回答
494 浏览

numpy - 如何使用python平滑/过滤n维空间中的函数?

我在一个 n 维空间中定义了函数,我用 (X,Y) 表示,其中 X 是一个包含输入特征的大小为 mxn 的数组,而 Y 是一个包含输出的大小为 mx1 的数组。所以在 m >> n 的 d 维空间中有 m 个点。

我想平滑 Y(输出)的值。在 1 维或 2 维的情况下,我可能会使用平滑样条曲线。在 n 维的情况下我真的不知道......我考虑过 scipy 中的中值滤波器(median_filter),但我不清楚如何在 X 中找到邻居并获取 Y 中的相应值来计算中值.

有任何想法吗?谢谢!

0 投票
1 回答
128 浏览

python - python,ndimage的维度子集,使用存储在另一个图像中的索引

我有两个具有以下尺寸的图像,x,y,z:

img_a: 50, 50, 100

img_b: 50, 50

我想将 img_a 的 z-dim 从 100 减少到 1,只获取与存储在 img_b 中的索引一致的值,逐个像素,因为索引在整个图像中有所不同。

这应该会产生具有以下尺寸的第三张图像:

img_c: 50, 50

是否已经有处理此问题的功能?

谢谢,彼得

0 投票
1 回答
625 浏览

python - 如何在 Python 中使用 scipy ndimage.generic_filter 返回多个值?

我正在寻找一种使用scipy.ndimage中的generic_filter 模块输出多个值的方法,如下所示:

但我不断收到预期浮动的错误。

我玩过“输出”参数,如下所示:

无济于事。根据这个问题,我还尝试返回一个命名元组、一个类或一个字典,但这些都不起作用。