问题标签 [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.
python - scipy ndimage 测量标签无法正常工作
我正在尝试将此图像标记为两个区域:
这是我的代码:
这是带有低通滤波器的过滤图像“results.png”
我的问题是我得到的输出是 1 而我期待 2
标签代码本身是否有问题。在我看来这很简单
python - 逐像素读取图像(ndimage/ndarray)
我有一个存储为ndarray
. 我想遍历这个数组中的每个像素。
我可以像这样遍历数组的每个元素:
这给出了即:
这些是像素中每种颜色的值,一个接一个。我想要的是 3 到 3 读取这些值以产生如下内容:
python - 从 Python 数组中删除完全隔离的单元格?
我试图通过删除所有完全隔离的单个单元格来减少二进制python数组中的噪声,即如果它们完全被其他“0”包围,则将“1”值单元格设置为0。我已经能够通过使用循环删除大小等于 1 的 blob 来获得一个可行的解决方案,但这对于大型数组来说似乎是一个非常低效的解决方案:
在这种情况下,侵蚀和扩张我的数组将不起作用,因为它也会删除宽度为 1 的特征。我觉得解决方案位于scipy.ndimage包中的某个位置,但到目前为止我还无法破解它. 任何帮助将不胜感激!
python - 具有多维(或非标量)输出的 Scipy 过滤器
是否有类似于支持向量输出ndimage
的generic_filter的过滤器?我没有设法使scipy.ndimage.filters.generic_filter
return 超过一个标量。取消注释下面代码中的行以获取错误:TypeError: only length-1 arrays can be converted to Python scalars
.
我正在寻找一个处理 2D 或 3D 数组并在每个点返回一个向量的通用过滤器。因此,输出将增加一个维度。对于下面的示例,我希望是这样的:
示例代码
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 = 内核的一维大小。
python - Numpy/Scipy 连接组件
我正在用 python 编写一个程序来在 L*L 矩阵中找到 1、0 或 -1 的“孤岛”。我需要它来找到连接组件的这些“区域”,标记它们中的每一个,并能够为矩阵 m[x][y] 的给定元素返回它所属的岛的大小。
这应该给我标记了随机矩阵 m 的岛(只是一个例子),但我不知道如何获得给定点所属的“区域”的大小。你可以帮帮我吗?我几乎没有编程经验,所以如果问题很愚蠢,请原谅我。
谢谢
python - Scipy.generic_filter - 窗口转换为一维
我正在尝试使用 scipy.generic_filter 来处理图像。但是,我需要在我正在应用的函数中进一步对窗口进行子集化。换句话说,我需要知道用于在通用过滤器中将 2D 窗口转换为 1D 数组的过程(函数),这样我才能以正确的方式在应用函数中重新创建 2D 数组。有人知道 scipy 过滤器使用什么功能将 2D 重塑为 1D 吗?
numpy - 如何使用python平滑/过滤n维空间中的函数?
我在一个 n 维空间中定义了函数,我用 (X,Y) 表示,其中 X 是一个包含输入特征的大小为 mxn 的数组,而 Y 是一个包含输出的大小为 mx1 的数组。所以在 m >> n 的 d 维空间中有 m 个点。
我想平滑 Y(输出)的值。在 1 维或 2 维的情况下,我可能会使用平滑样条曲线。在 n 维的情况下我真的不知道......我考虑过 scipy 中的中值滤波器(median_filter),但我不清楚如何在 X 中找到邻居并获取 Y 中的相应值来计算中值.
有任何想法吗?谢谢!
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
是否已经有处理此问题的功能?
谢谢,彼得
python - 如何在 Python 中使用 scipy ndimage.generic_filter 返回多个值?
我正在寻找一种使用scipy.ndimage中的generic_filter 模块输出多个值的方法,如下所示:
但我不断收到预期浮动的错误。
我玩过“输出”参数,如下所示:
无济于事。根据这个问题,我还尝试返回一个命名元组、一个类或一个字典,但这些都不起作用。