首页 > 其他 > 详细

openCV入门----.avi播放闪退、fopen、图像载入速度缓慢问题

时间:2015-10-19 02:11:35      阅读:279      评论:0      收藏:0      [点我收藏+]

虽然很多示例程序网上都有,然而自己进行编译运行时还是会出现很多意料之外的问题,接下来,我就把我遇到的比较头疼的(有解决了的有没有解决的)问题罗列如下:

?

1.程序播放.AVI程序时闪退(未解决)

在显示图像之后,我尝试过播放.AVI文件,代码网上比比皆是,大多数都如出一辙。但是总是出现程序运行了窗口弹出后,显示了一帧图像就立马退出的问题!网上查找了相关问题的解决办法,大多查询到的是一下所述方法:

转换格式解决方法:

解决方法1:下载mencoder.exe,?在window命令行下使用:

mencoder?in.avi?-ovc?raw?-vf?format=i420?-o?out.avi

解决方法2:下载VitualDub,?我使用1.9.4版本

a.?File->Open?Video?File;

b.?Video->Filters->Add->Convert?format;?选择4:2:0?Planar?YCbCr?(YV12)或者?32-Bit?RGB

c.?Save?as?AVI.?保存完毕。

然而我使用了之后发现效果并不好,几乎没有什么解决效果(难道是我用的不对?),而且还会带来新的问题,一个几十M的小视频在转换编码格式之后可以变到几个G甚至几十个G,这样的代价太大了!所以这个问题如何解决还有待进一步探讨,也欢迎各位指导!

?

2.error?C4996:?‘fopen‘

往往一个程序并没有编译的错误,然而运行起来却会发现这样的错误:

error?C4996:?‘fopen‘:?This?function?or?variable?may?be?unsafe.?Consider?using?fopen_s?instead.?To?disable?deprecation,?use?_CRT_SECURE_NO_WARNINGS.?See?online?help?for?details.

1>f:\program?files?(x86)\microsoft?visual?studio?12.0\vc\include\stdio.h(211)?:?参见“fopen”的声明

参考网上的解决方案可以顺利解决这个问题,其实在报的错误就可以看出解决方法:?use?_CRT_SECURE_NO_WARNINGS,我们在属性里预编译器里添加这么一句话就可以了,如下步骤:

1>右键点击所建“项目”,点击“属性”

?2>展开“C++/C”一栏,双击预处理器

3>双击第一项,在输入框将_CRT_SECURE_NO_WARNINGS复制进去,点击确定即可完成配置操作!

?

3.图像载入缓慢问题

新手写代码有没有发现过这样一个问题,往往在cvShowImage后面加上一个cvWaitKey函数,为的是延时一定的时间再等待按键响应,然而这样的语句在VS里不是很凑效,往往是延时了指定时间后就直接退出了,那么在这时候我们将cvWaitKey改成getchar或者system(pause)就可以了!当然,部分用户可能做到这里就已经搞定了,但是可能有部分用户会发现如果这样改的话,图像载入非常的缓慢,甚至好几分钟都出不来图像。

那么解决方案来了:

在cvShowImage与getchar或者system(pause)之间加一个延时函数,可以使用cvWaitKey(int?t)代替,如果效果不佳可以适当地加大t,也就是延时时间,这样问题就解决了!

?

<!--EndFragment-->

openCV入门----.avi播放闪退、fopen、图像载入速度缓慢问题

原文:http://lps-683.iteye.com/blog/2249854

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!