从视频文件中收集RGB数据

时间:2017-05-15 22:53:40

标签: c++ opencv video

只是寻找有关效率的想法,但没有深入。在问几个问题之前,我会解释一下我要做的事情。

我希望能够拍摄视频文件(不是特定格式的)和"播放"它在后台(不在屏幕上),同时在"播放"的当前帧中读取和输出特定像素的RGB数据。视频 - 逐帧 - 实时。

我已经尝试过使用OpenCV做到这一点的方法,但我想在我继续研究时我会在这里要求输入。所以,问题:

有什么方法可以实现,什么是最有效/资源轻量级方法?

注意:任何主要语言都可以,但我在C ++方面经验最丰富。

谢谢! -Carlisle

1 个答案:

答案 0 :(得分:0)

我希望这有帮助。

    VideoCapture cap("videofile");

if(!cap.isOpened()
{
return -1;
}
    Mat img;

    while(1)
    {

    cap >> img;

    for (int i = 0; i < img.cols; i++) {
            for (int j = 0; j < img.rows; j++) {

                Vec3b intensity = img.at<Vec3b>(j, i);

                uchar blue = intensity.val[0];
                uchar green = intensity.val[1];
                uchar red = intensity.val[2];
            }

        }

imshow("show", img);
    if(cap.empty())
                break;
    waitKey(30);

    }