欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 繪制場景熱力圖的示例

 更新時間:2020年09月23日 14:24:52   作者:陶婷  
這篇文章主要介紹了python 繪制場景熱力圖的示例,幫助大家更好的利用python繪制圖像,感興趣的朋友可以了解下

我們在做諸如人群密集度等可視化的時候,可能會考慮使用熱力圖,在Python中能很方便地繪制熱力圖。

下面以識別圖片中的行人,并繪制熱力圖為例進行講解。

  • 步驟1:首先識別圖像中的人,得到bounding box的中心坐標。識別方法多樣化,坐標也可以自己定義。
  • 步驟2:將所有中心坐標放入一個list類型的變量data中,即data = [[x1,y1] [x2,y2] …]
  • 步驟3:繪制熱力圖,并將熱力圖加權(quán)疊加到原圖上。

需要import的包:

import cv2
import numpy as np
from PIL import Image
from pyheatmap.heatmap import HeatMap
import matplotlib.pyplot as plt

根據(jù)識別的結(jié)果得到data的值,傳入以下apply_heatmap(image,data)繪制熱力圖;

def apply_heatmap(image,data):
  '''image是原圖,data是坐標'''
  '''創(chuàng)建一個新的與原圖大小一致的圖像,color為0背景為黑色。這里這樣做是因為在繪制熱力圖的時候如果不選擇背景圖,畫出來的圖與原圖大小不一致(根據(jù)點的坐標來的),導致無法對熱力圖和原圖進行加權(quán)疊加,因此,這里我新建了一張背景圖。'''
  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格式轉(zhuǎn)換成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) # 將熱度圖覆蓋到原圖

網(wǎng)站上隨意找一張圖片進行實驗:

原圖如下:

結(jié)果如下:

可視化效果可以調(diào)節(jié),如:通過調(diào)節(jié)hm.heatmap(base=background, r = 100)中的r即可調(diào)節(jié)熱力點的半徑大小。

以上就是python 繪制場景熱力圖的示例的詳細內(nèi)容,更多關于python 繪制熱力圖的資料請關注腳本之家其它相關文章!

相關文章

  • 從多個tfrecord文件中無限讀取文件的例子

    從多個tfrecord文件中無限讀取文件的例子

    今天小編就為大家分享一篇從多個tfrecord文件中無限讀取文件的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python+PyQt5實現(xiàn)自動點擊神器

    Python+PyQt5實現(xiàn)自動點擊神器

    這篇文章主要為大家詳細介紹了如何利用Python和PyQt5實現(xiàn)自動點擊神器,旨在解決重復性的點擊工作,解放雙手,具有及時性和準確性,需要的可以參考下
    2024-01-01
  • python案例中Flask全局配置示例詳解

    python案例中Flask全局配置示例詳解

    這篇文章主要為大家介紹了python案例中Flask全局配置示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Ubuntu16.04 安裝多個python版本的問題及解決方法

    Ubuntu16.04 安裝多個python版本的問題及解決方法

    Ubuntu16.04自帶python2.7與python3.5,Ubuntu 官方 apt 庫中還未收錄 python 3.8,因此添加 deadsnakes PPA 源安裝python3.8,否則會出現(xiàn)報錯,接下來通過本文給大家介紹Ubuntu16.04 安裝python的問題,一起看看吧
    2021-09-09
  • Python3 hashlib密碼散列算法原理詳解

    Python3 hashlib密碼散列算法原理詳解

    這篇文章主要介紹了Python3 hashlib密碼散列算法原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • python類中的self和變量用法及說明

    python類中的self和變量用法及說明

    這篇文章主要介紹了python類中的self和變量用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 手把手教你將Flask應用封裝成Docker服務的實現(xiàn)

    手把手教你將Flask應用封裝成Docker服務的實現(xiàn)

    這篇文章主要介紹了手把手教你將Flask應用封裝成Docker服務,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Python編程深度學習繪圖庫之matplotlib

    Python編程深度學習繪圖庫之matplotlib

    今天小編就為大家分享一篇關于Python編程深度學習繪圖庫之matplotlib,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 在Python中使用zlib模塊進行數(shù)據(jù)壓縮的教程

    在Python中使用zlib模塊進行數(shù)據(jù)壓縮的教程

    這篇文章主要介紹了在Python中使用zlib模塊進行數(shù)據(jù)壓縮的教程,是Python入門學習中的基礎知識,需要的朋友可以參考下
    2015-06-06
  • Python字符串的創(chuàng)建和駐留機制詳解

    Python字符串的創(chuàng)建和駐留機制詳解

    字符串駐留是一種在內(nèi)存中僅保存一份相同且不可變字符串的方法,本文重點給大家介紹Python字符串的創(chuàng)建和駐留機制,感興趣的朋友跟隨小編一起看看吧
    2022-02-02

最新評論