CvCapture使用的一点说明

通过OpenCV读视频或是(摄像头)的时候,通常会使用CvCapture和IplImage *。一个典型的代码如下:
 
CvCapture *cap;  
IplImage *frame;  
const char ESC = 27;  
if ((cap = cvCreateCameraCapture(0)) != 0)  
{  
    cvNamedWindow("Camera");  
    while ((frame = cvQueryFrame(cap)) != 0 &&  
        cvWaitKey(20) != ESC)  
    {  
        frame = cvQueryFrame(cap);  
        cvShowImage("Camera", frame);  
    }  
    cvReleaseCapture(&frame);  
    /* cvReleaseImage(&frame); 
     * 注意,这里不能释放,释放会出错 
     */  
    cvDestroyWindow("Camera");  
}  


 
 
注意程序中注释掉的那个地方。在读视频(摄像头)时,不用也不能去释放frame,否则会出错。
即使我们在if  创建了 frame 对像,也不能释放,因为这样也会出错。
实际上,在读视频(摄像头)的时候,没有必要使用 cvCreateImage 创建一个图片对像。

你可能感兴趣的:(CvCapture使用的一点说明)