OpenCV在Release模式下读取不到视频解决方法

这篇具有很好参考价值的文章主要介绍了OpenCV在Release模式下读取不到视频解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、开发环境
  • Widnows 10 操作系统
  • OpenCV 4.5版本
  • Visual Studio 2019 IDE
二、遇到问题

我这个问题不是直接遇到的,是在我看着教程,跟着练习到中间的某一个demo的时候遇到的,然后我在网上找原因,找了一圈没有我想要的结果。
我的开发环境搭建的没问题,跑图片例程啥的都很好,就是到跑视频例程的时候就直接读取不了视频,就是程序报错,报错代码看不懂,如下:

0x00007FFB4E924F69 处(位于 opencv2_demo.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置 0x0000002C707EE6F0 处。
三、解决方法

我就一直在回忆,后来终于想起来我在搭建开发环境的时候遗漏了一个点,就是我在复制dll动态库文件的时候懒省事儿,就少复制了两个,然后我就去操作了一波,最后问题解决。

1、找到你下载的的 OpenCV 包的展开路径

我的路径如下:

C:\ST\OpenCV4_30Courses\opencv\build\x64\vc15\bin

OpenCV在Release模式下读取不到视频解决方法
你的路径参考我的即可

因为我的是高版本的Visual Studio,所以我选择的是vc15的文件夹,要是你选择的是vc14那么你就复制vc14的就行,主要是得对照起来

图片中有视频相关的dll动态库文件,我就是只复制了编译相关的那一个,所以后期就会出现问题。
只要把前几个都添加了,就没问题了。

2、复制带有 Video 名称的 dll文件到系统

复制到的路径如下:

C:\Windows\System32

如果提示你权限不够,直接确定就好
这个操作相当于直接给你的系统安装了一个库,不缺少库文件自然就可以运行了。

3、跑个demo试试

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
	VideoCapture capture;
	capture.open("1.mp4");	//视频文件的路径,记得修改为反斜杠
	while (1)
	{
		Mat frame;
		if (frame.empty())
		{
			printf("Could not load video.\r\n");
			break;
		}
		capture >> frame;
		//flip(frame, frame, 1);//做摄像头实验的时候可以使用【镜像翻转】
		imshow("读取到的视频", frame);
		waitKey(1);
	}
	return 0;
}

完美!

四、总结

我是在B站上看的C++版本的OpenCV的课程,是贾志刚老师的入门课程,老师讲的挺好的,希望大家学习的时候不要因为老师的某些课程讲的不到位或者自己不喜欢而骂老师。
既然大家白嫖学习,就要尊重老师的付出,老师带领我们入门剩下的就要看我们自己了!
遇到问题多思考,摸索着就有可能解决了。文章来源地址https://www.toymoban.com/news/detail-411010.html

到了这里,关于OpenCV在Release模式下读取不到视频解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenCV读取摄像头窗口变大且很卡的解决方法

    OpenCV读取摄像头窗口变大且很卡的解决方法 读取摄像头窗口变大且很卡的代码 运行后,读取摄像头的窗口很大,而且很卡,出现如下的提示 安装libcanberra-gtk-module 继续运行,还是很卡,WARN还在,修改代码如下,增加cv2.CAP_V4L2 v4l2(video for linux two)是Linux中内核提供给应用层

    2024年01月25日
    浏览(53)
  • opencv从视频文件读取视频内容,从摄像头读取保存视频内容

    (1)argparse模块使编写用户友好的命令行接口变得容易。 (2)程序定义了它需要的参数,而argparse将找出如何从sys.argv中解析这些参数。 (3)argparse模块还会自动生成帮助和使用消息,并在用户给程序提供无效参数时发出错误信息。 import argparse # 导入库 parser = argparse.Argume

    2024年02月22日
    浏览(55)
  • opencv基本操作二(读取视频流与保存视频、读取摄像头并保存视频)

    opencv常用 读视频函数 cv2.VideoCapture 、 cv2.VideoCapture.get 等,可以参考这里 opencv常用 写视频函数 cv2.VideoWriter 等可以参考这里 ,其中视频格式可以参考这里 videoCapture.read() 是按帧读取视频, ret,frame 是获 .read() 方法的两个返回值。其中 ret 是布尔值,如果读取帧是正确的则返回

    2023年04月08日
    浏览(91)
  • Python|OpenCV-读取视频,显示视频并保存视频(3)

    前言 本文是该专栏的第3篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 在使用OpenCV处理视频的时候,不论是摄像头画面还是视频文件,通常情况下都要使用VideoCapture类来进行每一帧图像的处理。对于OpenCV而言,只要使用视频文件作为参数,它就可以打开视频文

    2024年02月11日
    浏览(42)
  • OpenCV 实现读取摄像头、视频读取保存 (C++)

    重点语句:VideoCapture、imshow 原理:使用VideoCapture语句读取摄像头,再利用while一次次将VideoCapture所读取的数据利用imshow语句一帧帧地读取出来 重点语句:VideoWriter 原理:在摄像头读取完图之后,利用VideoWriter语句将图像保存为固定格式 通过加入一个循环语句,按空格将图片按

    2024年02月11日
    浏览(51)
  • Opencv 视频的读取与写入

    目录 前言  通过路径获取视频内容  获取视频内容 检查是否正确打开  循环播放 完整代码 从摄像头读取视频数据 获取视频设备 其他与直接读取视频一致 完整实例 录制视频  用于创建视频编解码器的四字符码(FourCC) cv2.VideoWriter() 将视频帧逐帧写入视频文件 完整示例 获

    2024年02月12日
    浏览(34)
  • OpenCV实现视频的读取、显示、保存

    目录 1,从文件中读取视频并播放 1.2代码实现 1.3效果展示 2,保存视频 2.1    代码实现 2.2   结果展示 下面将详细介绍如何使用OpenCV实现视频的读取、显示和保存,并解释其原理。 视频读取: 使用OpenCV可以通过 cv2.VideoCapture 类来读取视频文件。该类提供了一系列方法用于操

    2024年02月03日
    浏览(57)
  • OpenCv:采集摄像头视频、读取视频帧与视频录制

    目录 一、涉及OpenCv函数 二、什么是帧、帧的大小代表什么 三、摄像头获取视频数据 四、录制视频并保存 从设备,可以是摄像头可以是本地视频, 获取视频的函数 cv.VideoCapture()。 本函数作用在于创建一个VideoCapture或者VideoWriter对象,真正的读取和写入是通过创建的对象进行

    2024年02月16日
    浏览(47)
  • C++ 结合 opencv读取图片与视频

    2024年02月06日
    浏览(43)
  • 如何使用OpenCV读取和显示视频文件?

    OpenCV是一个流行的计算机视觉库,提供了各种功能和工具来处理图像和视频。在本文中,我们将学习如何使用OpenCV库来读取和显示视频文件。以下是使用Python和OpenCV进行视频处理的简单示例: 如何使用OpenCV读取和显示视频文件? 步骤1:安装OpenCV 首先,确保您已经安装了Op

    2024年02月09日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包