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)
# 图片均是标准化后的图片
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110201248776.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzcxNDMzNg==,size_16,color_FFFFFF,t_70#pic_center)
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保存叠加图片
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201110201302490.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzcxNDMzNg==,size_16,color_FFFFFF,t_70#pic_center)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)