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

image - 如何在不改变像素值的情况下下采样图像数组

我有图像分割项目,并以像素值代表标签的图像形式给出地面实况标签。我需要调整图像和标签的大小,同时将标签保持在相同的值集中。

我尝试了很多东西,都改变了值集。

让我们创建虚拟数据

输出:原始标签形状:(30, 20) 原始标签值:[0 30 70]

我需要调整标签大小,因此结果将只有 0、30、70 个值

我试过的

输出:

0 投票
2 回答
1180 浏览

python - 如何在 Python 中使用图像处理来查找输入图像对象的直径?

给定一个输入图像,例如带有一些圆形物体(例如硬币)的 jpg,我想找到它们各自的直径。

感谢这个问题(How to find the diameter of objects using image processing in Python?,我知道如何识别物体,但我想测量我插入的图像的直径,而不是用方法随机生成。我该怎么做?

我是新来的,所以我不知道如何玩得很好,这段代码生成的图像在我所在问题的链接中。

0 投票
1 回答
155 浏览

python - numba ctype 与 ndfilter 匹配

我正在尝试在内部使用 Numba cfunc,但是我面临签名匹配问题。如果我将返回类型设置为它识别为好像我设置为或它说。两个签名不能匹配。匹配问题在返回类型中 scipy.LowLevelCallablendi.generic_filterint16shortint32intclong

这是错误:

系统规格(如果相关):Python 2.7.10(32 位)、Numba 0.39.0

0 投票
0 回答
101 浏览

python - 处理 N 个空间和 M 个测量维度的 Python 图像过滤器

简而言之:

我正在寻找一种方法来计算 python 中多个值轴上的多维自定义图像过滤器。

我的意思是:

使用 scipy 的 ndimage,我可以使用 ndimage.generic_filter 将自定义函数 myfunc 应用于 N 维 numpy 数组。在 myfunc 中,我只需要说明如何处理传递给函数的形状 (size[0],…,size[N-1]) 的像素邻域。

与此略有不同,我想做的是提供一个形状数组(S1,…,SN,V1,…VM)并仅沿空间维度应用过滤器,并将剩余的 M 轴解释为值轴。然后,要处理的像素邻域的形状为 (size[0],...,size[N-1],V1,...,VM)。

到目前为止,我对这种过滤器有自己的相对幼稚的实现,但是最好有一个处理一般情况和处理边界效果的版本。

非常感谢您的提示或想法!干杯

0 投票
1 回答
541 浏览

python - 如何将 yuv 数组转换为 rgb 数组?

我有原始数据,即 yuv420p 帧数据字节。我想使用 numpy 和 scipy 将其转换为 rgb 数据。这是我的代码:

我使用 PIL 打开这个输出 rgb 数组,但图像不是我预期的那样。 预期产出

我的代码有什么问题吗??还是我的数据有问题?

0 投票
1 回答
276 浏览

python - 如何在 np.arrays 中使 z 轴可选?(错误:封装阵列的形状不正确)

如果可能的话,我试图弄清楚如何在没有“if”条件的情况下使“z”轴对 2D 和 3D 输入可选。因此,如果输入是 2D,它将忽略 z 轴。如果输入是 3D,则需要 z 值。任何帮助或建议将不胜感激。

这是我得到的错误:

0 投票
1 回答
747 浏览

python - 获取二维数组中连续区域边界的路径

假设我有一个这样的数组:

有 4 个不同的区域:左上 1s、3s、4s 和右 1s。

我将如何获得每个区域边界的路径?区域顶点的坐标,按顺序排列。

例如,对于左上角的 1,它是(0, 0), (0, 2), (1, 2), (1, 1), (2, 1), (2, 0)

(我最终想得到类似的东西start at 0, 0. Right 2. Down 1. Right -1. Down 1. Right -1. Down -2.,但它很容易转换,因为它只是相邻顶点之间的差异)

我可以将其拆分为以下区域scipy.ndimage.label

看起来更像这样:

那么我如何将其转换为路径?

0 投票
1 回答
1817 浏览

image-processing - 如何使用 scipy.ndimage 找到最大的连接区域?

我有一个二进制图像。二值图像有一些孤立的区域,如噪声。我知道预期区域比这些孤立区域大得多。因此,我使用连接组件通过找到最大的连接区域来移除隔离区域。我必须使用 scipy 包。我发现它有一些功能可以做到这一点。然而,我的结果仍然遥遥无期。如何使用这些函数获得可以忽略孤立区域的二值图像?谢谢

0 投票
0 回答
976 浏览

python-3.x - 如何平滑二值图像中的轮廓/边界?

我有一个具有非平滑轮廓的二进制图像。作为先验信息,轮廓必须是平滑的。您能否向我建议在 python 中将轮廓平滑为下图的解决方案?谢谢大家

在此处输入图像描述

0 投票
2 回答
2767 浏览

python - 如何使用 SciPy Image 应用统一过滤器,其中不计算边界外的数据?

我在这方面花了很多时间,而且我知道如何通过对边界行/列进行切片和索引来手动执行此操作,但是 SciPy 必须有一种更简单的方法。

我需要将CVAL(在 时填充超过边缘的值mode=constant)设置为 NaN,但是,这将返回 NaN。

我将用代码和数字来解释它:

输入数组的图片 使用 SciPy ndimage 统一滤波器使用 3x3 内核计算平均值:

如您所见,第一个值为 11,这与预期的一样,但是,对于沿边界的任何单元格,它将用零填充值(我也尝试了所有其他模式)。

这是我需要实现的(左)vsmode=constantCVAL=0(默认0)

scipy avg 和我需要什么