首页 > 解决方案 > 运行基本 OpenCV 命令 VideoCapture 时 Qt 崩溃

问题描述

当我切换到 OpenCV 4.3.0 版本时,我遇到了一个有趣的问题。我使用 Cmake 3.16.0 和 mingw730_64 使用 Qt 构建 OpenCV 4.3.0,并在 Windows 10 机器上以发布模式完成构建

当我编译一个包括 VideoCapture 在内的简单代码时,我可以毫无错误地构建它,但是当我在发布模式下运行它时,exe 只会崩溃..

#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/imgcodecs.hpp>

..
void MainWindow::on_pushButton_2_clicked()
{
..
    VideoCapture capWebcam(0);
..
}

读取和显示图像时没有问题..!

void MainWindow::on_pushButton_clicked()
{
    Mat Test_Image;

    QString fileName = QFileDialog::getOpenFileName(this, "Open Image File", QDir::currentPath(), "Image (*.*)");


    if(QFile::exists(fileName))
    {

        Test_Image = imread(fileName.toStdString(), IMREAD_COLOR);


        if(Test_Image.empty()){
            QMessageBox msg;
            msg.setText("File couldn't load!");
            msg.exec();
        }
        else {
            namedWindow("Test Window", WINDOW_AUTOSIZE);
            flip(Test_Image, Test_Image,0);
            cvtColor(Test_Image, Test_Image, COLOR_BGR2GRAY);
            imshow("Test Window", Test_Image);
            waitKey(1);
        }
    }

谁能帮我理解为什么当我实例化 VideoCapture 对象时程序会立即崩溃?

C:\Qt_Projects\build-Deneme1-Desktop_Qt_5_14_2_MinGW_64_bit-Release\release\Deneme1.exe crashed.

先感谢您。

标签: c++qtmingwvideo-captureopencv4

解决方案


推荐阅读