[英]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:
這是對3個熱圖進行平均的結果:
看來這不是計算顏色數組平均值的方法。
我在這里想念什么嗎?
您應該使用plt.imshow(f_avg.astype(np.uint8))
以便imshow
可以檢測到這是圖像而不是任意浮點數據。 我無法訪問您的所有三個圖像,但是如果我使用f1
了三次測試,或者使用隨機噪聲圖像進行了測試,則此更改會使代碼的行為符合我的期望(如果沒有更改,就不會發生)。
還要注意,這些圖像陣列的RGB值和alpha值都已取平均值-這三張圖像的平均值不一定與包含所有數據時獲得的熱圖相同(但這很好粗略估算(如果您能訪問的話)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.