Привет, ребята, я использую Qt в качестве своей платформы C ++ IDE через Ubuntu 10.10 с OpenCV 2.2.Я просто напишу кусочки кода и покажу, в чем проблема:
#include "opencv2/highgui/highgui.hpp"
using namespace cv;
int main(int argc, char *argv[])
{
VideoCapture cap = VideoCapture(0);
Mat frame;
do
{
cap >> frame;
imshow("frame",frame);
} while (waitKey(10) != 27);
return 0;
}
Я получаю 3 распечатки с предупреждением, которые выглядят примерно так:
VIDIOC_QUERYMENU: Invalid argument
И все вроде бы нормально(камера работает).
Мне пришлось добавить использование Qt и добавить 3 строки кода, и это выглядит так:
#include <QApplication>
#include "opencv2/highgui/highgui.hpp"
using namespace cv;
int main(int argc, char *argv[])
{
QApplication app(argc,argv);
VideoCapture cap = VideoCapture(0);
Mat frame;
do
{
cap >> frame;
imshow("frame",frame);
} while (waitKey(10) != 27);
return app.exec();
}
Я все еще получаю 3 строки предупреждения, нотеперь окно «рамка» серое, и ничего не отображается.
Я впервые использую Qt, поэтому я не знаю, как это работает.Я могу только догадываться, что QApplication получает контроль над управлением окнами, что приводит к тому, что команда imshow
не может открыть новое окно.
Буду признателен за вашу помощь, THNX!