如何使用C ++和OpenCV从视频中删除16x16的像素帧?

时间:2019-06-26 21:41:19

标签: c++ opencv pixel

我输入了一些代码,它当前执行的操作是读取视频输入并将每帧的所有像素值导出到文本文件。当前卡住并且一直想弄清楚的地方是如何在导出视频时从视频中删除16x16像素的帧。因此,我需要结束的是每个帧中所有像素数据的文本文件,并从视频的每个帧中删除了16x16像素。

C ++对我来说是全新的,因此许多术语和想法确实使这变得困难。

我知道for循环中需要包含某些内容。我只需要从视频的每一帧中删除那16x16像素的像素即可。

ofstream output("Output.txt");

// for loop to get every frame
for (;;)
{
    Mat frame;

    capture >> frame;

    if (frame.empty())
    {
        break;
    }

    //convert to gray image
    cvtColor(frame, frame, CV_BGR2GRAY);

    // pixel value
    int grayValue;

    //get every data value per frame
    for (int r = 0; r < frame.rows; r++)
    {

        for (int c = 0; c < frame.cols; c++)
        {

            grayValue = frame.at<uchar>(r, c);
            output << grayValue << " ";
        }
        output << endl << endl;

0 个答案:

没有答案