gpt4 book ai didi

python - 在numpy数组中过滤2D图像并在python中计算

转载 作者:行者123 更新时间:2023-12-01 01:55:52 28 4
gpt4 key购买 nike

我导入了包含三个波段的图像。我将每个波段输入到一个 numpy 数组中。

现在我尝试修改频段 1 的值,以频段 3 为条件。

但是,我的图像有很多零值,必须计算除零以外的值以加快运算速度。

我认为排除0值后查找值会更快。

下面是我以前做的代码。

cols = 0 
rows = 0
[cols,rows] = test.shape
i= 0
i2 = 0

while i < cols:
k = 0
k2 =0
while k <rows:
if 0.15>test[i,k]>0.05089 and 30> test3[i,k]>29.8 :
test[i,k] = 1
....

最佳答案

看起来您想要的是选择一个“掩码”并分配给它。您的示例有点奇怪且不完整,但您可以通过将循环替换为以下内容来实现我认为您想要实现的目标:

test[(0.15>test) & (test>0.05089) & (30>test3) & (test3>29.8)] = 1

这里发生了什么:

  • (0.15>test) 创建一个与 test 大小相同的 bool 数组,其中所有元素 < 0.15 设置为 True ,其余元素 False .
  • & 运算符与其他 bool 数组进行元素逻辑与,以生成一个新的 bool 数组(大小也与 test 和 test3 相同)
  • test[XXX] = 1 表示“取 XXX 中所有为 true 的元素,并将 test 中对应的元素设置为 1”(假设 XXX 有与测试相同的形状(或者可以广播到相同的形状))

关于python - 在numpy数组中过滤2D图像并在python中计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50200696/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com