我是靠谱客的博主 真实蓝天,最近开发中收集的这篇文章主要介绍OpenCV学习(二)视频的读取,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.参考的资料网站信息:
1.1 文档资料:
F:科研openCV1.opencv视频教程:含源码
1.2 VS2010入门教程:
http://www.cnblogs.com/Mrt-02/category/311788.html
1.3 鸡啄米网站:
http://www.jizhuomi.com/software/257.html
1.4 opencv的所有库文件介绍
http://blog.csdn.net/yansmile1/article/details/50221031
1.5 IplImage结构体详细讲解
http://blog.csdn.net/xiaowei_cqu/article/details/7557063
1.6 VS2010常见错误和警告
http://www.cnblogs.com/Mrt-02/archive/2011/07/24/2115623.html

2、一段读取视频的代码(注:笔者在VS2010+openCV2.4.8上调试程序)

#include "highgui.h"
#include "cv.h"
int main(int argc,char* argv[])
{
    cvNamedWindow("avi");//定义一个窗口
    CvCapture* capture=cvCreateFileCapture("F:\科研\openCV248_project\open video\test1.avi");//定义一个视频指针变量,指针存储我们要读取的视频文件
    IplImage* frame;
    while(1)
    {
       frame=cvQueryFrame(capture);//通过循环实现逐帧读取首地址存在capture指针中的视频文件,每读一帧frame都会更新
       if(!frame)break;//若frame=0则停止读取视频

       cvShowImage("avi",frame);//显示视频帧
       char c=cvWaitKey(33);//控制帧率作用,每显示一帧视频停留33毫秒,1000/33=33帧/s
       if(c==27)//键盘上Esc按键对应的ASCII码值为27
           break;
    }

   cvReleaseCapture(&capture);//释放相应文件句柄和CvCapture结构体的内存空间
   cvDestroyWindow("avi");//注销窗口
   return 0;

}

运行调试后出现以下调试报告:
“open video.exe”: 已加载“F:科研openCV248_projectopen videoDebugopen video.exe”,已加载符号。
“open video.exe”: 已加载“C:WindowsSysWOW64ntdll.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64kernel32.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64KernelBase.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“F:softwareopencvbuildx86vc10binopencv_highgui248d.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64user32.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64gdi32.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64lpk.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64usp10.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64msvcrt.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64advapi32.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64sechost.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64rpcrt4.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64sspicli.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64cryptbase.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64ole32.dll”,已加载符号。
“open video.exe”: 已加载“C:WindowsSysWOW64oleaut32.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“F:softwareopencvbuildx86vc10binopencv_core248d.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64msvcp100d.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64msvcr100d.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:Windowswinsxsx86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.18837_none_ec86b8d6858ec0bccomctl32.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64avifil32.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64winmm.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64msacm32.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64msvfw32.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64shell32.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64shlwapi.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64avicap32.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64version.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64imm32.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64msctf.dll”,已加载符号(去除源信息)。
“open video.exe”: 已加载“C:WindowsSysWOW64uxtheme.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64apphelp.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64SogouPY.ime”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64msimg32.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64ws2_32.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64nsi.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64oleacc.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64ntmarta.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64Wldap32.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64dwmapi.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“D:360安全浏览器下载SogouInputComponentsPicFace1.0.0.1503PicFace.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64clbcatq.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64profapi.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“D:360安全浏览器下载SogouInput8.1.0.8588Resource.dll”,未使用调试信息生成二进制文件。
“open video.exe”: 已加载“C:WindowsSysWOW64psapi.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“F:softwareopencvbuildx86vc10binopencv_ffmpeg248.dll”,未使用调试信息生成二进制文件。
线程 ‘Win32 线程’ (0x1f84) 已退出,返回值为 0 (0x0)。
线程 ‘Win32 线程’ (0x1ee4) 已退出,返回值为 0 (0x0)。
线程 ‘Win32 线程’ (0x1ae0) 已退出,返回值为 0 (0x0)。
线程 ‘Win32 线程’ (0x16c8) 已退出,返回值为 0 (0x0)。
线程 ‘Win32 线程’ (0x1ef0) 已退出,返回值为 0 (0x0)。
线程 ‘Win32 线程’ (0x1f74) 已退出,返回值为 0 (0x0)。
程序“[7572] open video.exe: 本机”已退出,返回值为 0 (0x0)。

常见问题

运行后,视频框一闪而过,并没有加载出视频序列
提示:已加载“F:softwareopencvbuildx86vc10binopencv_highgui248d.dll”,Cannot find or open the PDB file
已加载“F:softwareopencvbuildx86vc10binopencv_core248d.dll”,Cannot find or open the PDB file
已加载“C:WindowsSysWOW64uxtheme.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64apphelp.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64SogouPY.ime”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64msimg32.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64ws2_32.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64nsi.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64oleacc.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64ntmarta.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64Wldap32.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64dwmapi.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“D:360安全浏览器下载SogouInputComponentsPicFace1.0.0.1503PicFace.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64profapi.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“C:WindowsSysWOW64clbcatq.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“D:360安全浏览器下载SogouInput8.1.0.8588Resource.dll”,未使用调试信息生成二进制文件。
“open video.exe”: 已加载“C:WindowsSysWOW64psapi.dll”,Cannot find or open the PDB file
“open video.exe”: 已加载“F:softwareopencvbuildx86vc10binopencv_ffmpeg248.dll”,未使用调试信息生成二进制文件。

解决:用ctrl+F5的方式,也不会显示图片,设置工具》选项》调试》符号之后,仍然出现“test.exe”: 已加载“F:OpenCV 2.4.8buildx64vc10binopencv_highgui248d.dll”,Cannot find or open the PDB file。
Cannot find or open the PDB file
这个不是错误提示,不用管这个,pdb文件只是用来调试的,没有也可以

给程序加入断点,看是否需要安装视频解析器或者修改视频格式
具体参考:http://blog.csdn.net/augusdi/article/details/11060981
加入断点后的结果:
capture 返回值
capture 返回值为0xcccccccc
0x000000000
此时capture 返回值为0x000000,即没有读入视频
此时我们需要安装解码器
安装成功后发现程序终于可以成功运行

3、函数学习
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

最后

以上就是真实蓝天为你收集整理的OpenCV学习(二)视频的读取的全部内容,希望文章能够帮你解决OpenCV学习(二)视频的读取所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部