opencv ::带有垃圾名称的多个不需要的窗口

时间:2013-12-31 09:03:58

标签: c++ opencv

我正在使用opencv从网络摄像头捕获视频并将其显示在namedWindow中。

cv::Mat rawImage;
cv::VideoCapture captureDevice;
captureDevice.open(0);
cv::namedWindow("webcam", 1);
bool running = true;
while(running)
{
    captureDevice >> rawImage;
    if(!rawImage.data)
    {
        continue;
    }
    cv::imshow("webcam", rawImage);
    char ch = cv::waitKey(33);
    if(ch == 'e')
    running = false;
}

最初代码运行正常,但随机(约5秒)之后,较早的命名窗口冻结,弹出一些垃圾名称的新窗口并开始显示网络摄像头图像。这继续发生,我得到了多个不需要的命名窗口。弹出那些不需要的窗户的原因是什么?

3 个答案:

答案 0 :(得分:4)

您是否尝试过此处描述的解决方案?

http://www.ridgesolutions.ie/index.php/2013/09/26/opencv-display-window-title-corrupted-and-multiple-windows-show/

他们还表示他们不明白原因,但是通过向VS2012添加预处理器定义_ITERATOR_DEBUG_LEVEL=0来手动修复它

答案 1 :(得分:1)

与opencv 2410和visual studio 2013有相同的问题,窗口7 64位。 我链接调试库进行调试配置时解决了。

e.g。 opencv_highgui2410的 d 的.lib

答案 2 :(得分:0)

OpenCV中不存在waitkey(),只有waitKey()(也许你这里有拼写错误)。无论如何,尝试改变

char ch = cv::waitkey(33);

char ch = cv::waitKey(33);

再次测试。我在我的电脑上测试过它(在VS2010下),它工作正常。