问题标签 [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 投票
0 回答
195 浏览

python - 具有特殊足迹的 ndimage 和滤波器

我想编写一个算法来计算 3D 数组的 3*3 窗口中元素的总和,而没有窗口中心的值

例如,对于输入 A :

我想获得输出B:

所以我写了这些代码

但是 B1 和 B2 都没有给出我想要的答案你能帮我理解为什么以及如何解决它吗?

0 投票
0 回答
421 浏览

python - scipy.ndimage 和 skimage.measure 的 tensorflow 等效项

我有一个带有标签图像的脚本,其中每个像素代表给定图像中原始像素的类别。使用scipy.ndimageskimage.measure我创建包含每个对象的边界框列表。

我想在张量流图中在线执行相同的操作。其中标签图像是图像张量。

这是原始代码的示例:

0 投票
1 回答
1609 浏览

python - 如何调整 Nd numpy 图像的大小?

如何调整 Nd numpy 图像的大小?

我不只是想对它进行二次采样,而是对像素进行插值/平均。

例如,如果我从

并在所有维度上将其缩小 2 倍,我希望输出为

尝试的解决方案:

A. SciPy ndimage:

(可选order参数没有区别)

B. 循环2**3可能的偏移量:丑陋,缓慢,仅适用于整数缩放因子,并且需要额外的步骤以避免溢出。

C. OpenCV 和 PIL 仅适用于 2D 图像。

0 投票
0 回答
346 浏览

python - 在'python'中垂直切割base64图像

我有一个 base64 图像,我想在给定高度将图像切割成 2 个或更多部分。在 python 中最有效的方法是什么?

一种方法是将base64转换为base64->bytes->ndarray->bytes。但是我在 ndarray->bytes 转换中遇到了问题。

分割图像后,我想将每个部分转换为缓冲区。我想不通怎么做。即使我可以进行所有这些转换,它似乎也非常间接且冗长。我想知道如何将 base64 图像垂直拆分为多个图像或您建议的任何更好的解决方法。

注意:这个答案解决了我遇到的同样问题,但我无法理解逻辑。

0 投票
4 回答
4016 浏览

python - 如何将魔杖图像对象转换为 numpy 数组(没有 OpenCV)?

我正在使用Wand将 pdf 文件转换为图像。然后,我使用 ndimage 进行进一步的图像处理。

我想直接将 Wand 图像转换为 ndarray ...我在这里看到了答案,但它使用 OpenCV。在不使用 OpenCV 的情况下这可能吗?

目前我保存了一个临时文件,该文件用 scipy.misc.imread() 重新打开

0 投票
2 回答
2616 浏览

numpy - 如何使 scipy.ndimage.zoom 中的 UserWarning 静音

我正在使用scipy.ndimage.zoom,我收到了这个烦人的警告:

用户警告:从 scipy 0.13.0 开始,zoom() 的输出形状是用 round() 而不是 int() 计算的 - 对于这些输入,返回数组的大小已经改变。

我不确定我应该从中得到什么,我开始将它与 SciPy 1.0.0 一起使用,所以我不相信它真的会影响我。

我想称它为UserWarning有点可疑,因为它不是供用户使用的,但可能目标用户是导入库的开发人员。

我正在使用多处理,每个进程都会收到一个警告,更烦人。

有没有理智的方法让它静音?

0 投票
0 回答
454 浏览

ndimage - 再次从 3D 体积中提取 2D 切片(由任意平面定义)?

使用 iTK 或 scipy ndimage 从 3D 体积中提取 2D 切片(由任意平面交叉点定义)并使用 SimpleITK 进行插值。有没有人有一个工作的例子?我在这里和 ITK 用户列表上阅读了几篇文章,但没有人有一个有用的东西。谢谢

燃气轮机

0 投票
1 回答
501 浏览

python - 使用 Python ndimage generic_filter 的条件逻辑

我正在尝试编写一个 python 函数来删除 2D 图像数据中的热像素。我正在尝试创建一个函数,该函数将获取 2D 数组中每个元素周围的邻居的平均值,并在其值超过其邻居的平均值特定数量(例如 3 sigma)时有条件地覆盖该元素。这就是我所在的位置:

上面代码中的“起源”是示范性的。我知道这是不正确的,我只是想展示我正在尝试做的事情。有没有办法将当前元素的值传递给 generic_function?

谢谢!

0 投票
2 回答
743 浏览

python - 移位插值没有给出预期的行为

当使用scipy.ndimage.interpolation.shift通过周期性边界处理(mode = 'wrap')沿一个轴移动一个 numpy 数据数组时,我得到了一个意想不到的行为。该例程试图强制第一个像素 ( index 0) 与最后一个 ( index N-1) 相同,而不是“最后一个加一个 ( index N)”。

最小的例子:

蓝线:移位前的数据
绿线:预期的移位行为
红线:scipy.ndimage.interpolation.shift的实际移位输出

我如何调用该函数或我如何理解它的行为是否有一些错误mode = 'wrap'?当前结果与相关scipy 教程页面和另一个StackOverflow 帖子中的模式参数描述形成对比。代码中是否存在错误?

使用的 Scipy 版本是 0.18.1,分布在 anaconda-2.2.0

在此处输入图像描述

0 投票
0 回答
173 浏览

python - ndimage.generic_filter() 如何处理多维数组

我想我理解 ndimage.generic_filter 的工作原理,但我不明白当你放入一个超过 2 维的数组时会发生什么(比如[[R],[G],[B]]图像中的值)

给定以下代码:

输出是:

在我看来,第一个数组是以我看不到逻辑的最后输入数组为代价的。这是故意行为还是我不应该像这样使用 generic_filter ?