Перейти к содержимому
Compvision.ru
DL03

Программа зависает при воспроизведении видео на n кадре

Recommended Posts

Доброго времени суток! Проблема такая, имеется программа которая воспроизводит видео при нажатии

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 кадра, программа зависает на время, а потом показывает что конец воспроизведения. В чем проблема?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может, куда-то ошибки всё таки пишутся? Стандартные аутпуты смотрел?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попробуй try-catch из QT и OpenCV, может туда прилетит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×