标题:"[Python] 使用 OpenCV 实现伪彩色和热力图"
日期:"2019-07-15"
分类:
- "源码和编程"
标签:
- "opencv"
- "python"
使用 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