这是我的情况, 我有一个数据集,其中每个点代表一张图像。该代码从每个小时的数据集中选择五个更高的值(“异常”),并为每个异常值检索图像。 该代码运行良好,并且正在检索应该的图像。 对于每个“异常”事件,它将检索5个与异常事件相关的图像。 现在,我想并排绘制每个事件的图像,而不是互相吼叫。 我在matplotlib上的技能非常有限,因此,如果有人可以帮助,那将是很棒的。 谢谢!
代码如下:
nMin=5
luminosity=np.load('luminosity.npy')
(hours,imageNumber)=luminosity.shape
for hour in np.arange(hours):
a=luminosity[hour]
a=a[a>1]
if np.any(a>1):
grad=np.gradient(a,2)
plt.plot(grad,color='k', linestyle='', marker='.')
plt.title( 'Hourly Luminosity')
plt.show()
maximos=np.array(np.argsort(-grad)[:nMin])
print(maximos)
for i in range(nMin):
for l in range(5):
print('anomaly ',i,maximos[i])
imageArray = np.array(cv.imread(imageFiles[maximos[i]-2+l]))[:,:,0]
plt.imshow(imageArray, interpolation='None')
plt.show()
在输出中,我正在接收一个异常0的图像,然后接收另一个异常0的图像,直到5个异常0的图像。一个异常1的图像,直到5。等等。 对于每个异常,我需要这些图像并排放置。 谢谢!