近期,需要利用OpenCV计算机视觉库读取视频并显示,保存。由于之前一直使用笔记本,此次台式机外接USB摄像头,出现了很大问题,总是显示内存问题,谷歌,百度大半天,总结各路大神建议,最终解决了问题,将问题和代码分享给大家,避免走弯路。
出现问题原因:
,,,,,,1. 摄像头初始化需要时间,进入循环前waitKey(2000),否则会出现闪退,
,,,,,,2. 摄像头视频存在解码问题。
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -【程序说明】- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -//程序说明:OpenCV计算机视觉库入门学习//程序描述:台式机利用OpenCV外接USB摄像头,读入视频并显示//开发测试所用操作系统:Windows 7 64位//开发测试所用IDE版本:Visual Studio 2010//开发测试所用OpenCV版本:2.4.9//2017年10月由@Fireman1994//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # include“cv.h” # include“highgui.h” # include“iostream” 使用名称空间性病; int主要(int命令行参数个数,char * argv []) { CvCapture *帽; 帽=cvCaptureFromCAM (0); 如果(帽) { cout<& lt;“创建相机捕捉错误”& lt; & lt; endl; 系统(“暂停”); 退出(1); } cvNamedWindow (“img ", 1); IplImage * img;//进入循环前,等待一段时间摄像头初始化,否则初始化未完成,会直接闪退出程序 cvWaitKey (2000); 而(1) { img=cvQueryFrame (cap);//读入视频解码 如果(img) 打破; cvShowImage (img, img); cvWaitKey (3); } cvReleaseCapture(和限制); cvDestroyAllWindows (); cvReleaseImage(和img); 返回0; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。