gpt4 book ai didi

python - 如何显示一组图像随时间变化的像素变化? (随着时间的推移成像物体的亮度变化)

转载 作者:太空宇宙 更新时间:2023-11-03 20:38:59 24 4
gpt4 key购买 nike

我想用热图显示一组图像的强度/亮度随时间的变化。这些是随时间成像的亮度变化物体的图像。这对于查看对象的哪些部分(哪些像素)的亮度变化最大很有用。

我目前正在使用 OpenCV 来操作这些图像,但找不到任何直接的方法来获取此热图。除此之外,如果有人可以建议一种计算方差的方法,而不必为每个像素的值创建单独的数组(也许直接从图像堆栈中计算它?),这也会很有帮助。

This in an example of what one of the images looks like

最佳答案

生成一些综合数据:

  • 所有像素的变化标准为 3
  • 一些像素发生变化(形状为 X),标准差为 5

代码:

import cv2    

lena = cv2.imread("lena.png", 0)
lena = cv2.resize(dices, (100,100))

images = np.zeros((30, *lena.shape))
images[0] = lena.astype('float64')

mask = np.rot90(np.eye(100)) + np.eye(100)

for i in range(1,30):
img = images[i-1]
img += np.random.randn(*lena.shape)*3
img += mask*5
images[i] = img

创建的图像集如下所示

enter image description here

渲染图像的代码:

plt.close('all')
plt.figure(figsize=(25,25))

for i in range(25):
plt.subplot(5,5,i+1)
plt.imshow(images[i],cmap='gray')
plt.xticks([])
plt.yticks([])
plt.tight_layout()
plt.show()

最后,通过热图查找图像中以不同速度变化的部分。

import seaborn as sns; sns.set()
ax = sns.heatmap(images.std(axis=0))
plt.show()

enter image description here

我们拿回了面具。

关于python - 如何显示一组图像随时间变化的像素变化? (随着时间的推移成像物体的亮度变化),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56975241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com