如何在视频文件中读取灰度

时间:2011-12-06 23:52:00

标签: c++ opencv

当您在图像中读取时,有一个标记可以设置为0以强制它为灰度。

cv::Mat img = cv::imread(file, 0); // keeps it grayscale

是否有相应的视频?

1 个答案:

答案 0 :(得分:5)

没有。

您需要查询帧并自己将其转换为灰度。

使用C界面:https://stackoverflow.com/a/3444370/176769

使用C ++接口:

VideoCapture cap(0);
if (!cap.isOpened())
{
    // print error msg
    return -1;
}

namedWindow("gray",1);

Mat frame;
Mat gray;
for(;;)
{
    cap >> frame;

    cvtColor(frame, gray, CV_BGR2GRAY);

    imshow("gray", gray);
    if(waitKey(30) >= 0) 
        break;
}

return 0;