gpt4 book ai didi

python - 如果 numpy 数组没有维度或者维度小于 n,则条件为 true

转载 作者:太空宇宙 更新时间:2023-11-03 15:48:50 26 4
gpt4 key购买 nike

我必须计算来自 while(true) 循环的前 30 帧的平均值。仅当第四维小于30或不存在第四维时,如何将第二个条件转换为真?还有其他优化代码的方法吗?框架.形状 = (480,640,3)。值从 0 到 255。

    if isFirst == True:
first_frames = frame
isFirst == False

if first_frames.shape[3] < 30:
np.append(first_frames, frame, axis=3)
avg_frames = np.mean(first_frames, axis=3)

new_frame = frame - avg_frames

最佳答案

我建议初始化一个数组来存储前 30 帧之前所有帧的运行总和,为此我们可以有一个循环迭代范围。在每个循环结束时,我们将通过将运行总和除以循环迭代器来计算平均帧。就这样!这个想法是通过使用 3D 数组来存储求和而不是附加到昂贵的 4D 数组来优化内存。

因此,实现将是 -

# Initialize array for storing running summation
first_frames = np.zeros((480,640,3),dtype=np.uint64)

for i in range(30): # Runs until first 30 frames
first_frames += frame # Add each frame
new_frame = frame - first_frames/float(i)

关于python - 如果 numpy 数组没有维度或者维度小于 n,则条件为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41511226/

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