在做诸如人群密集度等可视化的时候,可能会考虑使用热力图,在Python中能很方便地绘制热力图.

以识别图片中的行人,并绘制热力图为例.

步骤1:首先识别图像中的人,得到bounding box的中心坐标. 识别方法多样化,坐标也可以自己定义.

步骤2:将所有中心坐标放入一个list类型的变量data中,即data = [[x1,y1] [x2,y2] …]

步骤3:绘制热力图,并将热力图加权叠加到原图上.

Python 实现:import cv2

import numpy as np

from PIL import Image

from pyheatmap.heatmap import HeatMap

import matplotlib.pyplot as plt

def apply_heatmap(image, data):

'''

image: 原图

data: 识别得到的坐标结果.

'''

# 创建一个新的与原图大小一致的图像,color为0背景为黑色

# 原因:在绘制热力图的时候如果不选择背景图,画出来的图与原图大小不一致(根据点的坐标来的),

# 导致无法对热力图和原图进行加权叠加

background = Image.new("RGB", (image.shape[1], image.shape[0]), color=0)

# 开始绘制热度图

hm = HeatMap(data)

# background为背景图片,r是半径,默认为10

# 可以用于调节可视化效果,调节r即可调节热力点的半径大小

hit_img = hm.heatmap(base=background, r = 100)

# hit_img 为 PIL Image格式.

#hit_img.save('out_' + image_name + '.jpeg')

#plt.figure();plt.imshow(hit_img);plt.show()

hit_img = cv2.cvtColor(np.asarray(hit_img),cv2.COLOR_RGB2BGR)

overlay = image.copy()

alpha = 0.5 # 设置覆盖图片的透明度

# 设置蓝色为热度图基本色蓝色

cv2.rectangle(overlay, (0, 0), (image.shape[1], image.shape[0]), (255, 0, 0), -1)

# 将背景热度图覆盖到原图

image = cv2.addWeighted(overlay, alpha, image, 1-alpha, 0)

# 将热度图覆盖到原图

image = cv2.addWeighted(hit_img, alpha, image, 1-alpha, 0)

return image

测试结果如图(左-原图, 右-热力图结果):

python生成热度图_Python - 场景热力图绘制[转]相关推荐

  1. python生成热度图_Python 绘制热度图(seaborn)

    原博文 2020-05-08 15:16 − 进行数据处理时,对于数据的可视化展示可以更好的表现数据的关系 论文中,漂亮的热度图会让人眼前一亮 Seaborn 中的 heatmap就可以用来创建热度图 ...

  2. python生成热度图_Python数据可视化 热力图

    不要停止奔跑,不要回顾来路,来路无可眷恋,值得期待的只有前方.--<马男波杰克> ​​​​ 一.matplotlib绘制热力图 Matplotlib是Python著名的2D绘图库,该库仿造 ...

  3. python画矩阵图_Python可视化25_seaborn绘制矩阵图

    矩阵图即用一张图绘制多个变量之间的关系,数据挖掘中常用于初期数据探索: 本文介绍python中seaborn.pairplot(傻瓜版)和seaborn.PairGrid(更个性化版)绘制矩阵图 本文 ...

  4. python画蜡烛图_Python量化交易-绘制蜡烛图 !这个图不像你的钱哦!

    mpl_finance模块已经从matlibplot里独立出来,实现了蜡烛线绘制功能,其包含的函数有: 1. candlestick2_ochl(ax,opens,closes,highs,lows, ...

  5. python生成折线图怎么对特定点做颜色_python使用matplotlib绘制简单的折线图和散点图...

    生成数据 数据可视化 数据可视化指的是通过可视化表示来探索数据,它与数据挖掘机密相关. 安装matplotlib 请访问https://pypi.python.org/pypi/matplotlib/ ...

  6. python 画折线图_Python让你的数据生成可视化图形

    ID:pk哥 公众号:Python知识圈 最近的技术分享被老板说了,分享内容不错,可是这些统计图差了点.作为一个做技术的,这是不能忍受的.因为 Python 除了不会生孩子,其他的都会. 直接进入今天 ...

  7. python生成正态分布数据_python 生成正态分布数据,并绘图和解析

    1.生成正态分布数据并绘制概率分布图 import pandas as pd import numpy as np import matplotlib.pyplot as plt # 根据均值.标准差 ...

  8. python制作雷达图_python制作雷达图

    雷达图是以从同一点开始的轴上表示的三个或更多个定量变量的二维图表的形式显示多变量数据的图形方法,雷达图通常用于综合分析多个指标,具有完整,清晰和直观的优点. 下面以实际例子给大家讲解一下雷达图的应用场 ...

  9. python 四象限图_使用matplotlib绘制四象限图

    今天简单研究了一下在python中绘制四象限图的问题,结合前人相关研究成果,绘制出的图效果如下: 绘制这种图的要点是:自己构造新的x轴和y轴,不要用散点图默认的横纵坐标系,并且不要显示原来的横纵坐标系 ...

最新文章

  1. 14、计算机图形学——whited-style光线追踪
  2. 数据结构与算法 / B- Tree 和 B+ Tree
  3. 浅谈 Celery 分布式队列
  4. 如何在 C# 中使用 yield
  5. java循环嵌套 0228 2101班
  6. 剑指offer之java缓存总结,从单机缓存到分布式缓存架构
  7. jQuery学习(七)— append方法与appendTo方法
  8. 基于C++的模板引擎
  9. Hibernate数据查询
  10. 未来教育python软件_未来教育考试系统
  11. android 语音自动播报,Android语音播报的两种简单实现
  12. 保研面试-中英文问题及回答总结
  13. 计算机毕业设计ssm筋斗租车系统d0733系统+程序+源码+lw+远程部署
  14. 两阶段目标检测详解--FastRCNN
  15. 【常用方法】小地图的制作
  16. 不需要密码卸载Symantec Endpoint Protection的步骤
  17. ubuntu服务器安装和配置FTP服务器以及权限管理
  18. 无人巴士和无人出租车都能用的L4自动驾驶通用硬件方案
  19. DeepMind重大突破:AI进化出大脑级导航能力,像动物一样会“抄小路”
  20. 环形工频变压器线圈参数

热门文章

  1. 远程工具teamviewer使用教程
  2. js验证手机号、身份证号
  3. JQuery Validate(1)---电话号码与邮箱验证
  4. 基于PHP+MYSQL药店会员管理系统的设计与实现
  5. unigui点线动画连线
  6. SDN概述:简介、工具、环境部署
  7. 【※主题下载の命零电脑桌面主题※】
  8. 【Java代码】MP3、flac歌曲批量生成同名的“xxx.lrc”歌词文件导入索尼黑砖二代
  9. 多亏了这几款软件,我才能坚持写博客这么多年!
  10. mongoDB设置用户名密码