处理视频的指南

Guide to process a video

本文关键字:视频 处理      更新时间:2023-10-16

我刚刚开始从视频中处理图像,而不是静止图像。做什么正确的方法是什么?

  1. 我们通常会处理图像的每个框架吗?
    • 表示,如果我想将RGB更改为HSV色彩空间等。人们通常在这里做什么?

在这里需要一些指南,因为我没有视频处理经验。

谢谢大家。

编辑:有谁知道为什么OpenCV中处理的视频与原始视频相比存在很大的滞后,即使它只是从RGB转换为HSV?

视频处理始终是按帧进行的。例如如果要将RGB视频转换为HSV,则将执行以下过程:

  1. 打开视频文件。
  2. 阅读颜色框架(RGB框架)。
  3. 将框架从RGB转换为HSV颜色空间。
  4. 使用转换后的框架做任何您想做的事。
  5. 转到第2步。

更新:

C 用于将RGB视频转换为HSV的示例代码:

#include<iostream>
#include<string>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
using namespace std;
int main()
{
   cv::VideoCapture capture;
   cv::Mat RGB, HSV;
   string videoPath = "C:/video.avi";
   if(!capture.open(videoPath))
   {
     cout<<"Video Not Found"<<endl;
     return;
   }
    while(true)
    {
       capture>>RGB;  //Read a frame from the video
       if(RGB.empty()) //Check if the frame has been read correctly or not
       {
          cout<<"Capture Finished"<<endl;
          break;
       }
       cv::cvtColor(RGB,HSV,CV_BGR2HSV);
       cv::imshow("HSV Image",HSV);
       cv::waitKey(10);
    }
    capture.release();
    return 0;
}

颜色转换功能可能需要对HSV的内存进行预先关注。在此处阅读文档。