OpenCV外接USB摄像头

        近期,须要利用OpenCV计算机视觉库读取视频并显示、保存。因为以前一直使用笔记本,这次台式机外接USB摄像头,出现了很大问题,老是显示内存问题,谷歌、百度大半天,总结各路大神建议,最终解决了问题,将问题和代码分享给你们,避免走弯路。
出现问题缘由:
        1. 摄像头初始化须要时间,进入循环前 waitKey(2000),不然会出现闪退;
        2. 摄像头视频存在解码问题。

//--------------------------------------【程序说明】-------------------------------------------
//		程序说明:OpenCV计算机视觉库入门学习
//		程序描述:台式机利用OpenCV外接USB摄像头,读入视频并显示
//		开发测试所用操做系统: Windows 7 64bit
//		开发测试所用IDE版本:Visual Studio 2010
//		开发测试所用OpenCV版本:  2.4.9
//		2017年10月 Created by @Fireman1994
//------------------------------------------------------------------------------------------------

#include"cv.h"
#include"highgui.h"
#include"iostream"
using namespace std;

int main(int argc,char* argv[])
{
	CvCapture* cap;
	cap=cvCaptureFromCAM(0);
	if(!cap)
	{
		cout<<"create camera capture error"<<endl;
		system("pause");
		exit(-1);
	}
	cvNamedWindow("img",1);
	IplImage* img;
	//进入循环前,等待一段时间摄像头初始化,不然初始化未完成,会直接闪退出程序
	cvWaitKey(2000);
	while(1)
	{
		img=cvQueryFrame(cap);//读入视频解码
		if(!img)
		break;
	
		cvShowImage("img",img);
		cvWaitKey(3);
	}
	cvReleaseCapture(&cap);
	cvDestroyAllWindows();
	cvReleaseImage(&img);
	return 0;
}