m0_52580653 2022-01-12 07:14 采纳率: 100%
浏览 78
已结题

关于openCV的问题,请问该如何解决?

0x00007FFD5443478C 处(位于 OpenCVCourse1.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置 0x000000303492E230 处。

img

点击调试的时候,刚开始几秒钟是可以正常播放视频的,但是过了几秒钟之后,就会显示成如上这样;

而我点击运行的时候(Ctrl + F5);也是可以播放,但是过程中关闭不了,并且一段时间之后出现如下图这样的弹窗:

img

#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgcodecs.hpp>
#include <iostream>

using namespace std;
using namespace cv;


////////////  图片 ////////////
//void main()
//{
//    //我们的路径将是一个字符串
//    string path = "Resources/test.png";
//    
//    //导入  Mat是由openCV引入的矩阵数据类型 处理所有图像
//    Mat img = imread(path);
//    imshow("Img", img);
//
//    //由于没有延迟,会自动关闭
//    waitKey(0);
//
//}

////////////  视频 ////////////
void main()
{
    string path = "D:\\openCVcode\\OpenCVCourse1\\Resources\\test_video.mp4";
    //视频捕获对象
    VideoCapture cap(path);        
    Mat img;
    
    
    //由于视频是一系列的图像,所以需要遍历所有图像或所有帧一一捕获,所以使用while循环
    while (true)
    {
        cap.read(img);
        
        imshow("Image", img);

        waitKey(1);

    }
    
}

代码如上(在运行图片那一块的代码时,没有出现问题,视频部分的代码中,按照我在网上搜索的,将路径改为绝对路径以及双斜杠,才可以运行,但会存在上述问题)

请问各位,这样的问题该如何解决呢?

  • 写回答

2条回答 默认 最新

  • 爱晚乏客游 2022-01-12 09:09
    关注

    imshow之前先判断下图片有没有问题

    while (true) {
            cap >> fram;
            if(fram.date)
                imshow("output", fram);
            if (waitKey(2)==27) break; //esc退出
        }
        cap.release();
        destroyAllWindows();
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月20日
  • 已采纳回答 1月12日
  • 创建了问题 1月12日

悬赏问题

  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元