python - 在 Python 中流式传输 FHD 视频的图像上覆盖热图

标签 python opencv overlay pyqtgraph alphablending

我想制作一个基于 QT 的 GUI 程序,它将热图覆盖在来自 20fps 流式 FHD 视频的图像上。
目标图像看起来像这样



(此外,还应显示叠加图像旁边的颜色条。)

每个图像的热图源大小为 100x40,因此每帧都需要 FHD(1920x1080) 的插值。
(仅供引用,热图源的最小值和最大值分别约为 10 和 100000。)

首先,我使用 Opencv 中的 cv2.VideoCapture 函数从视频中获取图像。然后,我用谷歌搜索了一些使用 Matplotlib 组合图像和热图的示例,例如:

  • https://github.com/durandtibo/heatmap
  • Heatmap on top of image
  • Overlay an image segmentation with numpy and matplotlib

  • 我面临的问题是处理速度要满足 20fps 的 FHD 分辨率。

    看起来 Opencv 比 Matplotlib 更适合实时处理。
    (我找不到使用 Pyqtgraph 显示热图和颜色条的好方法,即使它提供了高速。)

    因此,我使用 cv2.applyColorMap 和 cv2.resize 搜索了另一种方式。
    看起来 cv2.applyColorMap 函数不像 Matplotlib 中的 imshow 函数那样自动调整值的范围,因此结果图像的颜色很奇怪。

    此外,使用 QtGui.QImage 和 QtGui.QPixmap 需要将 Opencv 图像用于 QtWidget,这会导致额外的延迟。
    最后,我搜索的方法整体处理时间不能满足要求。

    请告诉我解决方法。

    提前致谢。

    最佳答案

    我为闭路电视录像做了一些事情,也许你能得到一些帮助,
    使用 OpenCV,使用第一个基本帧生成运动热图。

    https://github.com/ajayrawat12/generate_heatmap

    关于python - 在 Python 中流式传输 FHD 视频的图像上覆盖热图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51761623/

    相关文章:

    python - scipy curve_fit 在简单的线性拟合上失败了吗?

    python - flask-admin:如何在编辑和创建表单时显示有意义的外键信息?

    python - 已知版本的twisted python

    python - 在 <p></p> 中抑制 python markdown 换行文本

    python - 使用Computer Vision的方案中的符号检测

    javascript - 无法读取 null 和覆盖的属性 'classList'

    javascript - 如何在javascript中叠加图像?

    python - 基于分类的车辆计数(汽车、公共(public)汽车、卡车)

    OpenCv : draw a white filled polygon

    silverlight 应用程序中的 html 覆盖