python根据经纬度画热力图_python 绘制场景热力图的示例
我们在做诸如人群密集度等可视化的时候,可能会考虑使用热力图,在Python中能很方便地绘制热力图。
下面以识别图片中的行人,并绘制热力图为例进行讲解。
步骤1:首先识别图像中的人,得到bounding box的中心坐标。识别方法多样化,坐标也可以自己定义。
步骤2:将所有中心坐标放入一个list类型的变量data中,即data = [[x1,y1] [x2,y2] …]
步骤3:绘制热力图,并将热力图加权叠加到原图上。
需要import的包:
import cv2
import numpy as np
from PIL import Image
from pyheatmap.heatmap import HeatMap
import matplotlib.pyplot as plt
根据识别的结果得到data的值,传入以下apply_heatmap(image,data)绘制热力图;
def apply_heatmap(image,data):
'''image是原图,data是坐标'''
'''创建一个新的与原图大小一致的图像,color为0背景为黑色。这里这样做是因为在绘制热力图的时候如果不选择背景图,画出来的图与原图大小不一致(根据点的坐标来的),导致无法对热力图和原图进行加权叠加,因此,这里我新建了一张背景图。'''
background = Image.new("RGB", (image.shape[1], image.shape[0]), color=0)
# 开始绘制热度图
hm = HeatMap(data)
hit_img = hm.heatmap(base=background, r = 100) # background为背景图片,r是半径,默认为10
# ~ plt.figure()
# ~ plt.imshow(hit_img)
# ~ plt.show()
#hit_img.save('out_' + image_name + '.jpeg')
hit_img = cv2.cvtColor(np.asarray(hit_img),cv2.COLOR_RGB2BGR)#Image格式转换成cv2格式
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) # 将热度图覆盖到原图
网站上随意找一张图片进行实验:
原图如下:
结果如下:
可视化效果可以调节,如:通过调节hm.heatmap(base=background, r = 100)中的r即可调节热力点的半径大小。
以上就是python 绘制场景热力图的示例的详细内容,更多关于python 绘制热力图的资料请关注脚本之家其它相关文章!
python根据经纬度画热力图_python 绘制场景热力图的示例相关推荐
- python热力图背景_python 绘制场景热力图的示例
我们在做诸如人群密集度等可视化的时候,可能会考虑使用热力图,在Python中能很方便地绘制热力图. 下面以识别图片中的行人,并绘制热力图为例进行讲解. 步骤1:首先识别图像中的人,得到bounding ...
- python分析数据走势图_python绘制趋势图的示例
import matplotlib.pyplot as plt #plt用于显示图片 import matplotlib.image as mping #mping用于读取图片 import date ...
- python的turtle画小人_Python绘制可爱的卡通人物 | 【turtle使用】
Turtle库 简介 什么是Turtle 首先,turtle库是一个点线面的简单图像库,能够完成一些比较简单的几何图像可视化.它就像一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始 ...
- python画热力图_Python中绘制场景热力图
原博文 2019-08-06 15:39 − 我们在做诸如人群密集度等可视化的时候,可能会考虑使用热力图,在Python中能很方便地绘制热力图. 下面以识别图片中的行人,并绘制热力图为例进行讲解. 步 ...
- python制作热力图_Python中绘制场景热力图
原文地址:https://www.cnblogs.com/taotingz/p/11309333.html 我们在做诸如人群密集度等可视化的时候,可能会考虑使用热力图,在Python中能很方便地绘制热 ...
- 用python海龟制图画花瓣_Python竟能画这么漂亮的花,帅呆了(代码分享)
阅读本文大概需要3分钟 关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下. 趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写a ...
- python中formatter的用法_Python pyplot.FuncFormatter方法代码示例
本文整理汇总了Python中matplotlib.pyplot.FuncFormatter方法的典型用法代码示例.如果您正苦于以下问题:Python pyplot.FuncFormatter方法的具体 ...
- python中font的用法_Python font.nametofont方法代码示例
本文整理汇总了Python中tkinter.font.nametofont方法的典型用法代码示例.如果您正苦于以下问题:Python font.nametofont方法的具体用法?Python fon ...
- python用turtle画彩虹_Python语言,绘制彩虹场景
在生活中,我们总会遇到各种各样的困难,我们都能听到鼓励我们的话,风雨之后才能见彩虹! 今天就和大家分享一下,使用编程代码去绘制我们心中的彩虹! 使用Python语言编程,来绘制彩虹的程序在下面! 彩虹 ...
最新文章
- 如何用 ndctl/ipmctl 管理工具 配置不同访问模式的pmem设备
- AI的使用场景破冰开拓商业服务
- 突破磁盘低级检测实现文件隐藏
- 启动文件需要做的工作
- 新消费风口再“热闹”,红利依然握在伊利、康师傅们手里
- 【题解】 [HEOI2016]排序题解 (二分答案,线段树)
- matlab生成有向网络,matlab ode45和矩阵生成有向网络图
- 递归调用方法时栈内存是如何变化的?(使用内存图演示递归调用过程)
- 饭卡可以用水冲洗吗_薄壁不锈钢水管真的可以满足大众用水健康管道的要求吗?...
- list.size为1但是内容为null
- delphi控件切图界面闪烁_先本设计教你跳过UI小程序的七个坑
- 服务器系统重置,云服务器系统重置
- 【CSS3】---only-child选择器+only-of-type选择器
- Zookeeper知识
- iis 下的 selfssl
- Aspose.Pdf 转图片的正确姿势
- c语言中char转换为int的问题
- outlook邮件路径更改_如何更改Outlook的新邮件警报声音
- 股票涨或跌为什么?看懂本质,才能顺势而为!
- 数据结构与算法碎碎念之运用递归处理问题