使用矩阵查看与视频帧的相似性
Using matrices to view similarities with video frames
我正在做一个关于计算机视觉的项目,我有一个问题。在我使用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教程。
相关文章:
- 如何在c++中录制具有精确帧时间戳的视频
- 如何在QT中的自定义视频小工具t上绘制矩形
- 如何使用OpenCV-C++编写*.mp4视频?
- 开放 CV 中的动态内存分配,用于视频处理
- 错误:(-210:不支持的格式或格式组合)功能'create'中的硬件视频解码器不支持视频源
- OpenCV QT,显示视频的帧(不使用while循环)
- FFmpeg——使用硬件加速进行视频解码
- 在 openCV 中手动停止视频
- 强制Qt相机视频格式
- 在macOS Mojave上尝试OpenCV视频捕获时"Abort Trap: 6"
- 应用程序在打开的简历中捕获视频后没有响应
- 使用 IMFSinkWriter 编码的视频的播放速度会根据宽度而变化
- 如何在 c++ 中通过 http 发送大型视频文件?
- 在 QLabel 中显示视频
- OpenGL 调试上下文警告 -"将使用视频内存作为缓冲区异议的来源
- 这个工厂类在这个C++视频中的意义何在?
- 如何使用Qt在新窗口中显示视频帧
- Qt GUI使用Qfiledialogbox和qlabel显示视频,这是我的代码
- 如何OPENCV+CUDA+视频捕获?
- 使用矩阵查看与视频帧的相似性