处理视频的指南
Guide to process a video
我刚刚开始从视频中处理图像,而不是静止图像。做什么正确的方法是什么?
- 我们通常会处理图像的每个框架吗?
- 表示,如果我想将RGB更改为HSV色彩空间等。人们通常在这里做什么?
在这里需要一些指南,因为我没有视频处理经验。
谢谢大家。
编辑:有谁知道为什么OpenCV中处理的视频与原始视频相比存在很大的滞后,即使它只是从RGB转换为HSV?
视频处理始终是按帧进行的。例如如果要将RGB视频转换为HSV,则将执行以下过程:
- 打开视频文件。
- 阅读颜色框架(RGB框架)。
- 将框架从RGB转换为HSV颜色空间。
- 使用转换后的框架做任何您想做的事。
- 转到第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的内存进行预先关注。在此处阅读文档。
相关文章:
- 开放 CV 中的动态内存分配,用于视频处理
- Opencv cpp 使用多线程处理同一视频的不同部分
- 完整Windows桌面的实时视频处理
- 用于视频处理的图像缓冲区
- 如何使用opencv计算视频的fps(带处理)
- OpenCV IOS Swift 2:如何实现 CvVideoCameraDelegate 协议处理视频帧
- 处理视频的指南
- 访问视频的每一帧并对其进行处理
- OpenCL视频处理
- OpenCV 视频处理在 iOS 中更换相机
- C/C++OpenCV视频处理
- OpenCV - 如何在局域网中的单独主机中处理视频的每一帧
- OpenCV视频处理帧速率下降
- 我可以将处理后的视频输出从 PC 上的 OpenCV 流式传输到安卓平板电脑吗?
- 后处理窗口视频输出
- 在Android上使用带有FFMPEG和OpenCV的NDK进行视频处理非常慢
- DirectShow和openCV.读取视频文件并进行处理
- 如何使用OpenCV或其他图像处理库从RGB数据写入YUV420视频帧
- C++视频逐帧处理
- OpenCV多线程与TBB视频处理