0

我目前正在显示两个独立的 2D 图像(x,y 平面和 z,y 平面),它们来自 0-255 值的 96x512 数组。我希望能够过滤数据,以便消除某个值以下的任何内容(最高值表示目标)。我想做的是从这些图像中分离离散的点,然后可以将这些离散点映射为三维点,而不是映射两个相交的平面。我不完全确定如何执行此操作或从哪里开始(我对 python 很陌生)。我正在使用 scipy 生成图像,并进行了一些归一化和降噪,但我不确定如何将超过阈值的任何内容分离出来,因为它是自己的单个点。这可能吗?

4

1 回答 1

0

如果我正确理解你想要什么,过滤点可以这样完成:

A=numpy.random.rand(5,5)
B=A>0.5

现在 B 是一个二进制掩码,您可以通过多种方式使用它:

A[B]

将返回一个数组,其中包含在 B 中为真的 A 的所有值。

A[B]=0

将为 A 中所有在 B 中为真的值分配 0。

numpy.nonzero(B)

将为您提供 B 中为真的每个点的 x,y 坐标。

于 2012-11-06T16:30:52.967 回答