[英]make a grayscale heatmap from an image
我正在嘗試使用 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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.