興味深い問題が発生しました。Qt と OpenCv を静的ビルドにするのに数週間費やした後、VideoCapture (.avi ファイル) からフレームを読み込もうとすると、プログラムが常にクラッシュしていることに気付きました。WebCamera を使用した VideoCapture は完璧に機能します。VideoCapture.Open() - 1 を返します - 問題ありません。誰でも私を助けてもらえますか?
クラッシュ: 問題の署名: 問題イベント名: APPCRASH アプリケーション名: PrehravanieVidea.exe アプリケーション バージョン: 0.0.0.0 アプリケーション タイムスタンプ: 51e39027 障害モジュール名: msvcrt.dll 障害モジュール バージョン: 7.0.7600.16385 障害モジュール タイムスタンプ: 4a5bda6f 例外コード: c0000005 例外オフセット: 0000a048 OS バージョン: 6.1.7600.2.0.0.256.48 ロケール ID: 1051 追加情報 1: 0a9e 追加情報 2: 0a9e372d3b4ad19135b953a78882e789 追加情報 3: 0a9e 追加情報 4: 0a9e372d3b4ad19378889e789b
プライバシーに関する声明をオンラインで読む: 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();
}
}
.pro ファイル:
#-------------------------------------------------
#
# Project created by QtCreator 2013-07-14T11:33:32
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = PrehravanieVidea
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
CONFIG += 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