【问题标题】:Remove differences between two video frames消除两个视频帧之间的差异
【发布时间】:2022-01-13 12:47:57
【问题描述】:

我试图消除两帧之间的差异并保留不改变的图形。可能会用更多帧重复相同的过程以获得更准确的结果。我的想法是简化框架,删除不需要的东西,以简化之后的其余过程。

不同的帧来自同一个视频,因此无需处理不同的尺寸、方向等。如果同一图形在另一个帧中但方向或比例不同,我也想将其删除。例如:

图片 1

图 2

结果(或多或少,我想这会更难看但包含类似的信息)

这个想法的一个问题是源视频,即使它们是计算机生成的图形,也是经过压缩的,因此很难识别像素色调的变化是否真的发生了变化。

理想情况下,我不考虑像素级别,并且考虑到压缩应用的饱和度差异可能是不可能的。我在图像中寻找未处理的“对象”。我想提取显示在其背后发生的事情之上的信息层。

在过去的几天里,我尝试在 Python 脚本中使用 OpenCV 和各种 absdiff、减法、阈值、equalizeHist、canny 组合来实现它,但到目前为止还没有找到正确的实现,希望任何指导。你将如何实现它?

【问题讨论】:

  • 因此,您希望保留两个图像中相同的部分。棘手的部分是您如何定义“相同”:它适用于对象而不是像素。你需要进一步确定这个定义......
  • 我稍微修改了一下,希望更清楚。如果不是这样,请告诉我。
  • 我认为这是计算机视觉中的一个难题,在很多方面。最终目标是什么,例如,通过“观看”比赛来学习游戏规则?您也许能够想出一个更针对应用程序的方法。
  • 请提供一组图片和代码,给您带来麻烦。您需要提供minimal reproducible example

标签: python opencv image-processing


【解决方案1】:

理想情况下,我不考虑像素级别,并且考虑到压缩应用的饱和度差异可能是不可能的。我在图像中寻找未处理的“对象”。我想提取显示在它背后发生的事情之上的信息层。

这将非常困难。您需要使用适当的简历,如果您不是该领域的专家,您将很难过。

这个怎么样,忘记工具和库,你有两个图像,即。两个相同大小的 RGB 像素序列。图像 A 和图像 B,以及输出图像 R。分配与 A 或 B 大小相同的输出图像 R。

对每个像素运行一个循环,从 A 和像素 a 读取像素,从 B 读取像素 b。您会得到一个三元素 (RGB) 向量。查找两个向量之间的距离,例如。向量的大小(b-a),如果小于某个容差,则将ab 写入结果图像R 的相同偏移量。如果不是,则写入一些默认(背景)颜色到R。

您很可能可以通过使用 OpenCV 或其他库的一些硬件加速方式来做到这一点,但这取决于您是否可以找到满足您需求的工具。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    相关资源
    最近更新 更多