繁体   English   中英

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

[英]OpenCV cv::imshow() does not work but cvShowImage() does

我遇到了一个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

using namespace std;
using namespace cv;

有了简历,它对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM