从图像制作灰度热图

克里斯托夫12301

我正在尝试使用 cv2 从灰度图像制作热图。问题是,我用这个代码得到了一个奇怪的图像:

import cv2
import numpy as np

img = cv2.imread('test.jpg', cv2.IMREAD_GRAYSCALE)

cv2.imshow('img', img)
cv2.waitKey(0)

hist = cv2.calcHist([img], [0], None, [256], [0, 256])
hist2 = np.uint8(hist)

heat = cv2.LUT(img, hist2)

cv2.imshow('img', heat)
cv2.waitKey(0)
cv2.destroyAllWindows()
扎比尔·阿尔·纳兹

不知道热图是什么意思,但是 matplotlib 中有一些颜色图可以用来获得类似的结果。

import matplotlib.pyplot as plt
import numpy as np
import cv2

image = cv2.imread('test.jpg', cv2.IMREAD_GRAYSCALE)
colormap = plt.get_cmap('inferno')
heatmap = (colormap(image) * 2**16).astype(np.uint16)[:,:,:3]
heatmap = cv2.cvtColor(heatmap, cv2.COLOR_RGB2BGR)

cv2.imshow('image', image)
cv2.imshow('heatmap', heatmap)
cv2.waitKey()

此外,您可以使用 cv2.applyColorMap

image = cv2.imread('test.jpg', 0)
heatmap = cv2.applyColorMap(image, cv2.COLORMAP_HOT)

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章