使用矩阵查看与视频帧的相似性

Using matrices to view similarities with video frames

本文关键字:视频 相似性      更新时间:2023-10-16

我正在做一个关于计算机视觉的项目,我有一个问题。在我使用OpenCV成功加载视频后,我想提取视频帧并查看它们的相似性。有人告诉我,我需要使用矩阵来实现这个目的。我该怎么做?

当您捕获视频帧时,您将获得Mat类的一个实例。这已经是一个矩阵的视频帧图像像素。

要查看相似性,您需要先捕捉一帧,然后再捕捉另一帧,一旦有了两帧,就可以进行比较。

你需要进一步解释你想要实现什么,因为有很多方法可以比较图像,并使用视频捕获的两帧获得不同的结果。

Mat videoFrame, previousFrame;
VideoSource myCam;
// initialise your video frame.
prepVideoCam();
// start a loop{
myCam >> videoFrame; // Captures the current frame to videoFrame.
if(i_have_previousFrame)
// do some processing if i have a previous frame.
videoFrame.copyTo(previousFrame);
// back to loop

你会发现videoFrame已经是一个矩阵了。

为了帮助你从这里开始http://code.opencv.org/projects/opencv/wiki如果你还没有这么做的话。OpenCV从一个旧网站转移到了一个新网站,我相信这是最新的。

下载此文档http://docs.opencv.org/opencv_tutorials.pdf

本文档将解释其中的差异,并为您提供大量教程。

"2.1 Mat-基本图像容器"一节开始解释v1和v2之间openCV的差异和更新。它还展示了如何可互换地使用它们,但个人坚持使用v2语法和类。

慢慢来,因为它很快就会变得复杂。

还要注意,当你安装opencv时,我认为这些教程的所有源文件都是包的一部分,或者至少有一个文件包含了它们。

希望这能进一步帮助我们。

您所说的"相似性"究竟是什么意思?

如果你指的是不同的像素,你可以简单地在OpenCV中从另一帧中"减去"一帧。"矩阵"部分可能指的是OpenCV用于处理图像的cv::Mat结构。

有关详细信息,请参阅一些OpenCV教程。