首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >视频处理指南

视频处理指南
EN

Stack Overflow用户
提问于 2012-10-18 07:33:22
回答 1查看 1.9K关注 0票数 3

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

  1. 我们通常处理每一帧图像吗?
    • 意思是,如果我想改变RGB到HSV的颜色空间等,人们通常在这里做什么?

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

谢谢大家。

编辑:有人知道为什么在opencv中处理的视频与原始视频相比有很大的延迟,即使它只是从RGB转换到HSV?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-18 08:50:23

视频处理总是一帧一帧地进行。例如,如果您想将RGB视频转换为HSV,您将执行以下步骤:

  1. 打开一个视频文件。
  2. 读取色框(RGB帧)。
  3. 将帧从RGB转换为HSV颜色空间。
  4. 用转换后的框架做任何你想做的事。
  5. 进入第二步。

更新:

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

代码语言:javascript
运行
复制
#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预先分配内存。阅读文档这里

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12949411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档