在OpenCV参考手册中:http://opencv.willowgarage.com/documentation/c/highgui_reading_and_writing_images_and_video.html
它陈述了以下内容:cvQueryFrame( )
:
返回的图片不应该是 由用户发布或修改。
这句话是什么意思?
感谢。
答案 0 :(得分:5)
根据源类型(相机/文件,编解码器)cvQueryFrame
可能正在为连续捕获的图像使用相同的存储区域。如果您尝试取消分配或修改cvQueryFrame
或cvRetrieveFrame
返回的图像,则从OpenCV捕获代码可能会停止正常运行。
这意味着您不应尝试释放从这些函数返回的图像内存,例如通过调用cvReleaseImage
。图书馆会在需要时为您完成此任务。
此外,这意味着您不应使用cvScale
,cvSet
类型的函数或直接更改低级像素数据来修改图像。如果要在使用之前修改所获取的图像,请使用cvCloneImage
为自己创建单独的副本。