我有一個包含 7000 個影像的陣列,這些影像的大小為 224x224x3。因此整個矩陣形狀為(7000, 224, 224, 3)。我想要做的是選擇每 50 張影像并計算它們的平均值,獲得 50 幀中的平均 1 幀,所以我總共有一個 size 陣列(140, 224, 224, 3)。一個最小的可重現示例:
import numpy as np
array = np.random.randint(255, size=(7000, 224, 224, 3))
mean_frame = np.mean(([frame for frame in array]), axis=0)
這是我能得到的最接近的,它會給我一個影像,(224, 224, 3)因為它平均了所有影像,但我想每 50 幀抓取一次。基本上,我想知道如何從這個更大的影像陣列中選擇每 50 幀并將它們平均以獲得我想要的相同平均幀?
uj5u.com熱心網友回復:
一種方法是重塑陣列,使其變為140 x 50 x 224 x 224 x 3然后沿第二個軸取平均值:
mean_frame = np.mean(np.reshape(array, (140, 50, 224, 224, 3)), axis=1)
通過以這種方式重塑您的陣列,第一維中的每個元素都可以訪問一批 50 張影像,因此沿第二維平均將沿第一維為每個元素平均 50 張影像。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/464526.html
標籤:Python python-3.x 麻木的 图像处理 矩阵
