您的位置:首页 > 运维架构

通过OpenCV读取AVI视频,多路视频输出播放器

2013-01-16 16:13 253 查看
OpenCV在多线程下不能读取AVI视频新的解决办法:

问题情况:在OpenCV中,使用cvCaptureFromAVI打开一个视频文件后,并使用cvReleaseCapture释放关闭它后,再开启一个线程使用cvCaptureFromAVI打开一个视频文件,此时就会出现错误,在调试中,执行这个“CvCapture *capture = cvCaptureFromAVI( m_strVideoPath ); ”语句后也会出现capture的内存取值为0x00000000,也就是在多线程中cvCaptureFromAVI不能多次使用,
cvReleaseCapture这个语句没有彻底执行.
解决方法:多线程使用前必须加一句CoInitialize(NULL);来对线程进行一个初始化;问题的本质原因是在OpenCV的打开视频文件等操作过程,其里面可能含有设置COM库的内容

,但是鄙人怎能这么清楚的了解呢

,故在相关设计中需要对Com库进行初始化,方可好用


其他思考:在多线程编程的过程中

,对于类似相关问题可能就是COM库的初始化问题

,本质上这些读取或设置权限都是在系统级别上的

,用户态的操作不大有可能

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: