使用matplotlib的cmap(heatmap)动态改变cv2.line线条颜色
最近在做AR方面的研究。
其中教授提了一个小需求,就是想要改变cv2.line线条颜色。
总得来说就是根据一个数据的大小(也就是强度),来改变线条的颜色,数据越大颜色越红。
一开始我是怎么做的呢…
当然是很笨得手动去设定线条的颜色值。
if 200 < data < 300:
color = (40, 255, 0)
if 300 < data:
color = (0, 40, 255)
cv2.line(matdata, lower_neck_point, left_shoulder_point, color, thickness)
对于这种粗鲁的方式,教授当然直接打咩打咩!
提出要用heatmap的方式来动态改变。
于是经过调查,就总结了这篇文章,其实很简单,在这里做个笔记。
·
1. 导入
seaborn 用来画图,Normalize用来做归一化,cm用来获取颜色参数的rgb值
import seaborn as sns
from matplotlib.colors import Normalize
import matplotli