opencv 中使用VideoCpature读取视频出现错误

man在尔归 2016-12-20 08:01:51
编译环境:VS2010+OPENCV2.4
问题:读取视频时,视频可以完整播放,但是在播放之后会出现问题。问题如下:图1

图一

附程序:
#include<opencv2\opencv.hpp>
using namespace cv;

int main()
{
//【1】读入视频
VideoCapture capture("D:\\visual studio 2010\\Projects\\video\\2.mp4");//读入该路径下存在的视频
//VideoCapture capture(0);//调用自己电脑的摄像头

//【2】循环显示每一帧
while(1)
{
Mat frame;//定义一个Mat变量,用于存储每一张图像
capture>>frame;//读取当前帧
imshow("读取视频",frame);
waitKey(10);//延时10ms
}
return 0;
}
这个问题困扰我很久了,不知道怎么解决。希望知道的大神帮忙解决一下,或者提供一下查找该类型问题的方法。感谢!
...全文
1043 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
luo4lu 2019-08-20
  • 打赏
  • 举报
回复 1
测试应该时imshow的时候读入一个空frame。建议增大时延或者在imshow之前加一个贞判空。
阿狸说 2017-10-01
  • 打赏
  • 举报
回复
问题解决了吗,我也遇到同样的问题
赵4老师 2016-12-21
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止
赵4老师 2016-12-21
  • 打赏
  • 举报
回复
看不懂时双击下一行,直到能看懂为止。
man在尔归 2016-12-21
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止
如果看不懂汇编的话是不是就没办法找问题了?我汇编只会基础的,看很多行 的话自己就乱了。
下载代码方式:https://pan.quark.cn/s/d5321a99c521 在信息技术网络架构领域,配置双块网卡于同一网络段内的静态路由是一项高级且具有实用价值的技术,其能够高效地管理和优化网络数据流,保障数据包能够沿最优路径传送,同时合理分配与控制内外网络资源的访问。本资料将详细阐述双块网卡同网络段静态路由的核心概念、配置机制及其应用实例。 ### 双块网卡同网络段静态路由概述 双块网卡同网络段静态路由指的是在一台主机上部署两个或更多网络接口卡(NICs),这些网卡可能接入同一个物理网络或不同的物理网络,但它们的IP地址归属于同一个网络段。在这种配置下,主机能够同时作为多个子网的成员,并通过静态路由表来引导数据包的传输路径。静态路由是由网络管理者手动设定的,它不依赖于动态路由协议,因而具备更高的稳定性和安全性。 ### 配置机制 在双块网卡同网络段静态路由的应用场景,关键环节在于为各个网卡设定正确的默认网关与子网掩码,以及确立通往特定目标网络的静态路由条目。具体而言,每块网卡都必须拥有独立的IP地址和子网掩码,而默认网关则用于转发那些需要进入外部网络的数据包。此外,通过增设静态路由条目,可以明确指定某些特定目的地址的数据包应经由哪块网卡进行发送。 ### 实际操作流程 以下是从相关内容总结出的实际操作流程: 1. **环境初始化**:确认两块网卡已正确安装,并配置了相应的IP地址与子网掩码。例如,一块网卡的IP地址为192.168.1.200,另一块为192.168.1.219,均属于192.168.1.0/24网络段。 2. **删除现有路由**:运用`routedelete 0.0.0.0`指令移除所有默认路由,以确保后续配置不会受到干扰。...

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧