C++ OpenCV-网络摄像头imshow不显示实时提要,改为灰色屏幕

C++ OpenCV-网络摄像头imshow不显示实时提要,改为灰色屏幕,c++,opencv,visual-studio-2015,computer-vision,C++,Opencv,Visual Studio 2015,Computer Vision,我正在Visual Studio 2015中使用OpenCV 3.2.0版,并且一直能够访问我的网络摄像头,直到今天早上我突然开始使用它。我不知道这个问题是从哪里来的。我现在得到: 它不会抛出任何错误,但也不会通过网络摄像头显示任何输入 #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/highgui.hpp" #include <iostream> using namespace std; usin

我正在Visual Studio 2015中使用OpenCV 3.2.0版,并且一直能够访问我的网络摄像头,直到今天早上我突然开始使用它。我不知道这个问题是从哪里来的。我现在得到:

它不会抛出任何错误,但也不会通过网络摄像头显示任何输入

#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>

using namespace std;
using namespace cv;    

int main(int argc, char** argv)
{
    VideoCapture cap;
    cap.open(0);
    if (!cap.isOpened())
    {
        printf("--(!)Error opening video capture\n");
        return -3;
    }


    Mat image;
    namedWindow("Image", CV_WINDOW_AUTOSIZE);
    while (1)
    {
        cap.read(image);

        imshow("Image", image);
        waitKey(30);
    }


    return 0;
}
#包括“opencv2/imgproc/imgproc.hpp”
#包括“opencv2/highgui/highgui.hpp”
#包括
使用名称空间std;
使用名称空间cv;
int main(int argc,字符**argv)
{
视频捕捉帽;
上限开放(0);
如果(!cap.isOpened())
{
printf(“-(!)打开视频捕获时出错\n”);
返回-3;
}
Mat图像;
namedWindow(“图像”,CV\u窗口\u自动调整大小);
而(1)
{
阅读(图片);
imshow(“图像”,图像);
等候室(30);
}
返回0;
}
以前有人遇到过这个错误吗

编辑: 我所看到的事情:

我的网络摄像头,我有工作的东西,如谷歌闲逛,所以我不认为这是一个网络摄像头的问题

另外,我卸载了Visual Studio 2015并安装了Visual Studio 2017,以查看重新安装是否可行,是否仍能获得相同的结果

编辑:

当我创建一个新的
VideoCapture
对象时,我收到了错误
。我很确定我把所有的东西都正确地包括进去了

配置属性->C/C++->其他包含目录:
$(OPENCV\u构建)\include

配置属性->链接器->常规:
$(OPENCV\u BUILD)\x64\vc14\lib

配置属性->链接器->输入:
opencv\u world320d.lib

在通过使用CMake编译和构建源代码获得opencv后,我遇到了同样的问题。然后,我删除了它们,并从预构建的二进制文件中安装了Opencv。我再次运行了代码,没有问题

正如所建议的,我的防病毒软件阻止了我的网络摄像头。我不知道如何排除我的VisualStudio目录,所以我只是尝试卸载它,结果它成功了。这将是很好的有防病毒,并有这个工作,所以我需要找出这一点。但对于临时工来说,这是可行的

尝试使用:
Mat框架;cap>>框架在while循环内,并在while之前删除
Mat image
。@eyllansc负片。我使用了
image
而不是
frame
,正如您所建议的,Mat对象的创建必须在循环中。试试这个,我删除了所有额外的内容,它给了我相同的屏幕。在不删除任何东西的情况下,它会给我一个黑屏,因为它是白色的。我从这里下载了windows版本,但我仍然得到相同的东西。还有一点。我的防病毒软件阻止网络摄像头访问软件。我禁用了这个属性并解决了这个问题。我甚至检查了我的防病毒软件六次,并尽可能地排除了我的Visual Studio目录。但是,卸载我的防病毒软件成功了。。。我不知道为什么在工作了几个月后突然发生了这种情况。我花了太长时间才弄明白。知道我的防病毒软件阻止了不必要的网络摄像头偷窥秀,这有点不错。谢谢你的帮助。