Я новичок в Qt, и мне очень полезно учиться.Я пытаюсь объединить существующий код C ++ с новым графическим интерфейсом Qt.По сути, идея состоит в том, чтобы изображения, извлеченные из файла .avi, обрабатывались в серверной части и затем отображались в виде QLabel
на экране.Мне удалось получить следующий бит кода для правильного отображения кадров:
while (frame = cvQueryFrame(capture))
{
// Some processing code...
QImage qImageFrame((uchar*) frame->imageData, frame->width, frame->height, frame->widthStep, QImage::Format_RGB888);
qImageFrame = qImageFrame.rgbSwapped();
QPixmap qFrame;
qFrame.convertFromImage(qImageFrame);
label->setPixmap(qFrame);
label->repaint();
cvWaitKey(10);
}
Теперь, однако, это, очевидно, означает, что пользовательский интерфейс перестает реагировать на ввод пользователя, пока все кадры из фильма не отображаются,Как это сделать?
Примечание: я выполняю обработку с использованием библиотеки openCV, которая ожидает изображения в определенном формате.Например, одна вещь, которую я не могу сделать, - это работа с файлом .avi непосредственно в домене Qt.