Поиск по сайту
Showing results for tags 'зависание opencv'.
Найдено 1 результат
-
Доброго времени суток! Проблема такая, имеется программа которая воспроизводит видео при нажатии IplImage* frame = 0; CvCapture* capture; // Кадр видеопотока // Показ заданного кадра void QtGuiApp4::showFrameVideo(CvCapture* captureT, IplImage* frameT) { cvGrabFrame(captureT); frameT = cvRetrieveFrame(captureT); cvCvtColor(frameT, frameT, CV_BGR2RGB); QImage gimgOriginal((uchar*)frameT->imageData, frameT->width, frameT->height, QImage::Format_RGB888); gimgOriginal = gimgOriginal.scaled(QSize(ui.video->width(), ui.video->height()), Qt::KeepAspectRatio); // Вывод кадра ui.video->setScaledContents(false); ui.video->setPixmap(QPixmap::fromImage(gimgOriginal)); } Данный метод вызывается в цикле // Пройтись по всем кадрам на видео for (size_t i = 1; i < frameEnd; i++) { showFrameVideo(capture, frame); // Вывод количества показанных кадров framesT = QString::number(i) + "/" + QString::number(frameEnd); ui.statusBar->showMessage(framesT, 0); for (; time.elapsed() < 10;) { qApp->processEvents(0); } } При запуске программы воспроизведение происходит на ура. Однако также имеется перезапуск программы с другими настройками // Режим изменен if (currentIndexInit != currentIndexInitOld) { qApp->quit(); // Перезапуск системы QProcess::startDetached(qApp->arguments()[0], newArguments); return; } И вот тут самое интересное, при достижения скажем в среднем 500-600 кадра, программа зависает на время, а потом показывает что конец воспроизведения. В чем проблема?