打开摄像头后,显示一片黑~~初学opencv,读取avi文件就好使,为何摄像头不好使呢?我使的是外接usb摄像头~
      cvNamedWindow("capture1", CV_WINDOW_AUTOSIZE);
CvCapture * capture = cvCreateCameraCapture(-1);
IplImage * frame;
while(1){
frame = cvQueryFrame(capture);
if(!frame) break;
cvShowImage("capture1" , frame);
char c = cvWaitKey(330);
if(c == 27)break;
}

cvReleaseCapture(&capture);
       cvDestroyWindow("capture1");

解决方案 »

  1.   

    frame是否先要初始化一下呢?
      

  2.   

    楼主把下列代码试下:
     cvNamedWindow("capture1", CV_WINDOW_AUTOSIZE);
    CvCapture * capture=NULL; //初始化NULL
    capture= cvCreateCameraCapture(0);//指定摄像头
    IplImage * frame=NULL;
    while(capture!=NULL){
    frame = cvQueryFrame(capture);
    if(frame= =NULL) break;
    cvShowImage("capture1" , frame);
    char c = cvWaitKey(330);
    if(c == 27)break;
    }cvReleaseCapture(&capture);
      cvDestroyWindow("capture1");
    看看结果
      

  3.   

    谢了,我的系统是win7的,编程的时候总是会有一些问题。尤其是处理摄像头的时候。程序在Xp上就好使。我决定该系统为Xp,谢谢各位了~给分