我有一個具有形狀(600,400)的熱圖numpy數組。熱圖表示檢測概率。就我而言,圖像中人臉檢測的概率。我的目標是獲取這個熱圖,並獲得發生概率最高的座標(X和Y)。在numpy熱圖上獲取「最熱區域」的座標
我已經解決了這個情況的一張臉。代碼如下:
face_location = np.unravel_index(heatmap.argmax(), heatmap.shape)
print("Face location: " + str(face_location))
但在某些情況下有多個面孔。我不知道如何調整算法以返回多個「最熱區域」。問題在於任何一個熱點地區都會被逐漸減少的熱點地區所包圍。所以有可能在最熱門的地區之後,下一個前10名都會在最初的位置。
如何調整算法以查找多個熱點區域?假設他們不會彼此靠近是可以的。
heatmap = [[ 2.00299415e-04 2.03753079e-04 8.17560707e-04 ..., 2.23556344e-04
1.98958180e-04 9.92935777e-01]
[ 2.00642273e-04 2.04473894e-04 8.19963054e-04 ..., 2.24148811e-04
1.99438742e-04 9.92921114e-01]
[ 2.01056406e-04 2.05344462e-04 8.22864589e-04 ..., 2.24864416e-04
2.00019145e-04 9.92903233e-01]
...,
[ 7.28193991e-05 -2.73474743e-05 2.95096161e-05 ..., 5.96550672e-05
1.98282614e-05 9.99637246e-01]
[ 7.34055429e-05 -2.72389279e-05 3.02382941e-05 ..., 5.98490733e-05
2.04356711e-05 9.99619305e-01]
[ 7.37556256e-05 -2.71740992e-05 3.06735128e-05 ..., 5.99649393e-05
2.07984649e-05 9.99608397e-01]]
可能想看看[如何獲得在numpy數組中的N個最大值的索引?](https://stackoverflow.com/questions/6910641/how-to-get-indices-of-n-如果我正確地讀你的問題,最大值在數組中。 –