OpenCV cv :: imshow()不起作用,但cvShowImage()可以

时间:2014-06-06 22:13:25

标签: c++ opencv

我之前遇到过OpenCV以前从未遇到过的问题。当我使用cv :: imshow()时,图像显示得很完美,但是顶部栏上有奇怪的ascii字符而不是窗口名称,每隔几秒就会出现一个新窗口,其名称不同,旧的冻结在任何帧上目前正在播出。我可以退出已冻结的窗口,但在使用不同的名称后会立即出现。我之前使用过OpenCV,imshow()一直都适合我。 这是我的代码:

#include "stdafx.h"
#include "opencv2/opencv.hpp"

using namespace cv;

int main()
{
    VideoCapture cap(0);
    Mat frame;
    namedWindow("Sample Program", CV_WINDOW_AUTOSIZE);

    while (true)
    {
        cap >> frame;

        imshow("Sample Program", frame);

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

    return 0;
}

如果我用

替换imshow()
cvShowImage("Sample Program", cvCloneImage(&(IplImage)frame));

完美无缺。 我只是想知道是否存在库问题或导致此问题的问题 我在Visual Studio Ultimate 2012中使用OpenCV 2.4.9

1 个答案:

答案 0 :(得分:0)

using namespace std;
using namespace cv;

有了这个简历,它对我有用。