使用 applyColorMap 可以對單個通道的圖像進行偽彩色處理和熱力圖 OpenCV 的定義了 12 種 colormap 常數,選擇一個需要的即可 cv2.applyColorMap (heatmap_g, cv2.COLORMAP_JET) 圖像可以使用 addWeighted 進行疊加處理 cv2.addWeighted (heatmap_img, alpha, merge_img, 1-alpha, 0, merge_img) # 將熱度圖覆蓋到原圖
def heatmap_overlay(image,heatmap):
# 灰度化 heatmap
heatmap_g = heatmap.astype(np.uint8)
# 熱力圖偽彩色
heatmap_color = cv2.applyColorMap(heatmap_g, cv2.COLORMAP_JET)
# overlay 熱力圖
merge_img = image.copy()
heatmap_img = heatmap_color.copy()
overlay = image.copy()
alpha = 0.25 # 設置覆蓋圖片的透明度
#cv2.rectangle (overlay, (0, 0), (merge_img.shape [1], merge_img.shape [0]), (0, 0, 0), -1) # 設置藍色為熱度圖基本色
cv2.addWeighted (overlay, alpha, merge_img, 1-alpha, 0, merge_img) # 將背景熱度圖覆蓋到原圖
cv2.addWeighted (heatmap_img, alpha, merge_img, 1-alpha, 0, merge_img) # 將熱度圖覆蓋到原圖
return merge_img
參考: https://blog.csdn.net/u013381011/article/details/78341861