如何检测 video/How 的滚动速度以检测图像差异

How to detect scrolling speed of a video/How to detect differences in images

我有一些屏幕录像视频,我想从中提取一些信息。我的思路是用cv2.VideoCapture()截屏,然后用OCR获取信息。但是我可以调用 OCR 服务(业务服务)的次数是有限制的。所以我只想使用没有太多信息重叠的关键屏幕截图。例如,我从 cv2 获得了 300 个屏幕截图,但我已经可以从其中的 20 个屏幕截图中获取所需的所有信息,因为滚动速度很慢并且大部分屏幕截图重叠。

看一个真实的例子:我想获取AppStore录屏视频中的所有应用名称。

问题是:

如何找出视频的滚动速度,以便调整截屏的频率。或者换句话说:如何知道连续截图变化了多少,其实就是滚动的速度?

你可以使用光流处理来检测滚动,检测到的流中只有一维Y,所以通过计算流向量范数的平均值很容易得到平均滚动。

您可以在此处找到一个 python 示例,以便轻松适应您的情况: https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_video/py_lucas_kanade/py_lucas_kanade.html