C++ Visual Studio中的OpenCV在运行一次后崩溃

C++ Visual Studio中的OpenCV在运行一次后崩溃,c++,opencv,C++,Opencv,我为我的Windows安装了OpenCV,并将其集成到Visual Studio中。我在看一个视频教程,它给出了一些测试代码 #include <opencv2/opencv.hpp> using namespace cv; int main() { VideoCapture cap(0); cap.set(CAP_PROP_BUFFERSIZE, 3); if (!cap.isOpened()) return -1; for

我为我的Windows安装了OpenCV,并将其集成到Visual Studio中。我在看一个视频教程,它给出了一些测试代码

#include <opencv2/opencv.hpp>
using namespace cv;

int main() 
{
    VideoCapture cap(0);
    cap.set(CAP_PROP_BUFFERSIZE, 3);
    if (!cap.isOpened())
        return -1;


    for (;;) 
    {
        Mat frame;
        cap >> frame;
        imshow("Webcam frame", frame);

        if (waitKey(30) >= 0)
            break;
    }

    return 0;
}

我真的不明白为什么它只在重启后工作一次。有人有什么想法吗?

试试这个,你应该做一些错误检查,以确保在试图显示帧之前帧中有数据

for (;;) 
{
    Mat frame;
    bool result = cap.read(frame);
    if(result && !frame.empty())
       imshow("Webcam frame", frame);

    if (waitKey(30) >= 0)
        break;
}

我尝试了你的代码,我的控制台只是不断发布第一条警告“无法抓取帧”,我这么做了,它什么也没做
for (;;) 
{
    Mat frame;
    bool result = cap.read(frame);
    if(result && !frame.empty())
       imshow("Webcam frame", frame);

    if (waitKey(30) >= 0)
        break;
}