在《使用cvReleaseImage出错》一文中,cvReleaseImage()出错的前提如下:
在《使用cvReleaseImage出错》中谈及的pFrame即是图片中的img,这个指针并没有被分配空间,而是指向了cvQueryFrame(capture)中读取并返回的图像。在HighGUI视频读取函数中对cvQueryFrame的说明如下:
从函数说明中可以看到,cvQueryFrame从摄像头或文件中抓取一帧并且返回这一帧,返回的图像不可以被用户释放或者修改,因为cvQueryFrame返回的指针总是指向同一块内存,当函数的返回值为NULL时,说明视频结束。