python opencv 显著图转热力图并叠加到原始图

python opencv 显著图转热力图并叠加到原始图

图像分割、显著性检测通常会生成二值图或者灰度图像(mask),为了直观展示分割检测效果,通常最直接的方法就是将生成的mask基于一定透明度叠加到原始图像。
本文通过python opencv来实现显著图转热力图并叠加到原始图,具体操作如下:

1.读入分割图片和原始图片

import cv2
import numpy as np
gray_img = cv2.imread('D:/ILSVRC2012_test_00000003_salient.png', flags=1)
org_img =  cv2.imread('D:/ILSVRC2012_test_00000003.jpg', flags=1) 
# 图片均是标准化后的图片

python opencv 显著图转热力图并叠加到原始图_第1张图片

2.灰度图像转为三通道热力图像并保存热力图

heat_img = cv2.applyColorMap(gray_img, cv2.COLORMAP_JET)     #此处的三通道热力图是cv2使用GBR排列
cv2.imwrite('D:/heat_img.png', heat_img)    #cv2保存热力图片

3.叠加到原始图片并保存叠加后的图片

add_img = cv2.addWeighted(org_img, 0.3, heat_img, 0.7, 0) 
#五个参数分别为 图像1 图像1透明度(权重) 图像2 图像2透明度(权重) 叠加后图像亮度
cv2.imwrite('D:/add_img .png', add_img )   #cv2保存叠加图片

python opencv 显著图转热力图并叠加到原始图_第2张图片

你可能感兴趣的:(计算机视觉,opencv,cv,深度学习,图像识别)