У меня есть интересная проблема. После нескольких недель, которые я потратил на приведение моих Qt и OpenCv в статическую сборку, я понял, что, когда я пытался прочитать фрейм из VideoCapture — из файла .avi, моя программа постоянно вылетала. VideoCapture с WebCamera работает отлично. VideoCapture.Open () — возвращает 1 — нет проблем. Кто-нибудь может мне помочь, пожалуйста?
Сбой:
Подпись проблемы:
Название проблемного события: APPCRASH
Имя приложения: PrehravanieVidea.exe
Версия приложения: 0.0.0.0
Метка времени применения: 51e39027
Имя модуля неисправности: msvcrt.dll
Версия модуля неисправности: 7.0.7600.16385
Временная метка модуля неисправности: 4a5bda6f
Код исключения: c0000005
Смещение исключения: 0000a048
Версия ОС: 6.1.7600.2.0.0.256.48
Locale ID: 1051
Дополнительная информация 1: 0a9e
Дополнительная информация 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительная информация 3: 0a9e
Дополнительная информация 4: 0a9e372d3b4ad19135b953a78882e789
Прочитайте наше заявление о конфиденциальности онлайн:
http://go.microsoft.com/fwlink/?linkid=104288&clcid = 0x0409
Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с нашим заявлением о конфиденциальности в автономном режиме:
C: \ Windows \ system32 \ EN-US \ erofflps.txt
Мой код:
#include "mainwindow.h"#include "ui_mainwindow.h"#include <QDir>
#include <QFileDialog>MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
// inicializacia ////////////////////////
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_actionOpen_triggered()
{
QDir directory = QDir::currentPath();
QString path = QFileDialog::getOpenFileName (this, tr("Directory"), directory.path());
if ( path.isNull() == false )
{
directory.setPath(path);
}
ui->console->appendPlainText(path);video_cap.open(path.toStdString());
if(!video_cap.isOpened()){ui->console->appendPlainText("I can't open the file!");}
else {ui->console->appendPlainText("Video file is opened!");
video_cap.read(video_frame);video_cap.release();}
}
.Про файл:
#-------------------------------------------------
#
# Project created by QtCreator 2013-07-14T11:33:32
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = PrehravanieVidea
TEMPLATE = appSOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.uiCONFIG += exceptions
INCLUDEPATH +=C:/opencv/build/include
LIBS += -LC:\\opencv\\mybuild\\lib \
-lopencv_contrib246 \
-lopencv_stitching246 \
-lopencv_nonfree246 \
-lopencv_superres246 \
-lopencv_ts246 \
-lopencv_videostab246 \
-lopencv_gpu246 \
-lopencv_legacy246 \
-lopencv_ml246 \
-lopencv_objdetect246 \
-lopencv_calib3d246 \
-lopencv_photo246 \
-lopencv_video246 \
-lopencv_features2d246 \
-lopencv_highgui246 \
-llibjasper \
-lIlmImf \
-llibtiff \
-llibpng \
-llibjpeg \
-lopencv_flann246 \
-lopencv_imgproc246 \
-lopencv_core246 \
-lzlib \
-lzlib \
-lopencv_haartraining_engine
LIBS += -LC:\\ProgramFiles\\MicrosoftSDKs\\Windows\\v7.0\\Lib \
-lVfw32 \
-lmsvfw32 \
-lComCtl32 \
-lGdi32
Задача ещё не решена.
Других решений пока нет …