簡體   English   中英

如何生成一個圖像數組作為多個圖像數組的平均值?

[英]How can I produce an image array as the average of multiple image arrays?

我正在嘗試從多個熱圖創建平均熱圖。

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
from scipy import misc

f1 = misc.imread('heatmap1.png')
f2 = misc.imread('heatmap2.png')
f3 = misc.imread('heatmap3.png')
f_avg=np.average([f1,f2,f3],axis=0)
plt.imshow(f_avg)
plt.show()

這是heatmap1.png:

這是“ heatmap1”

這是對3個熱圖進行平均的結果:

在此處輸入圖片說明

看來這不是計算顏色數組平均值的方法。

我在這里想念什么嗎?

您應該使用plt.imshow(f_avg.astype(np.uint8))以便imshow可以檢測到這是圖像而不是任意浮點數據。 我無法訪問您的所有三個圖像,但是如果我使用f1了三次測試,或者使用隨機噪聲圖像進行了測試,則此更改會使代碼的行為符合我的期望(如果沒有更改,就不會發生)。

還要注意,這些圖像陣列的RGB值和alpha值都已取平均值-這三張圖像的平均值不一定與包含所有數據時獲得的熱圖相同(但這很好粗略估算(如果您能訪問的話)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM