matlab - 阅读未压缩的yuv视频文件的帧?

标签 matlab opencv raspberry-pi yuv

我使用yuv的相机以raspberry pi格式录制了未压缩/未编码的视频。我想将每个帧读取为图像,还要计算视频的帧总数

我找到了这个答案:How to read a frame from YUV file in OpenCV?但是它看起来很旧,似乎没有用。

我是否必须先将yuv视频转换为其他格式才能读取每一帧。我应该怎么做?
哪个工具更适合OpenCVMatlab或其他工具?

最佳答案

我认为OpenCV可以从视频文件中读取YUV帧,因为底层的媒体处理程序层(即FFmpeg)可以完成这项工作。

此外,OpenCV还支持YUV and BGRcv::cvtColor()CV_YCrCb2RGB CV_RGBYCrCb 之间的转换。

以下代码适用于您的视频吗?

cv::VideoCapture cap("PATH_TO_YUV");
if (!cap.isOpened())
{
    std::cout << "Failed to open file: " << "PATH_TO_YUV" << std::endl;
    return -1;
}

cv::Mat frame;
while(true)
{
    cap >> frame;

    if (frame.empty())             
        break;

    cv::imshow("YUV frame", frame);
    cv::waitKey(1);
}

关于matlab - 阅读未压缩的yuv视频文件的帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28689927/

相关文章:

python - pi2go - 将机器人移动 90º 或仅向前移动 10 厘米并停止?

c - 使用 raspberry pi pico uart 和 c sdk 的奇怪之处

python - 如何连接两个对象的路径?

python - 估计矩形对象的姿势不稳定

python - PyOpenCV 不会使用 Python2.7 在 Raspbian 上构建

matlab - 在 Matlab 绘图中添加箭头

matlab - x( :) and x(1:end) are different 的矩阵索引输出

matlab - Octave /Matlab : PCA on sparse matrix: how to get only the most important eigenvectors?

c++ - matlab 函数 "imfill(BW,' 孔的有效实现')“在 c++ 中不使用 opencv

node.js - 在 Windows 10 上使用 Opencv4nodejs 构建 Electron 应用程序的问题