[英]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.