【发布时间】:2011-03-15 00:32:29
【问题描述】:
在 OpenCV 参考手册中:http://opencv.willowgarage.com/documentation/c/highgui_reading_and_writing_images_and_video.html
它声明了以下关于:cvQueryFrame( ):
返回的图片不应该是 由用户发布或修改。
这句话是什么意思?
谢谢。
【问题讨论】:
在 OpenCV 参考手册中:http://opencv.willowgarage.com/documentation/c/highgui_reading_and_writing_images_and_video.html
它声明了以下关于:cvQueryFrame( ):
返回的图片不应该是 由用户发布或修改。
这句话是什么意思?
谢谢。
【问题讨论】:
根据源类型(相机/文件、编解码器)cvQueryFrame 可能正在为连续捕获的图像使用相同的内存区域。如果您尝试解除分配或修改由cvQueryFrame 或cvRetrieveFrame 返回的图像,则来自 OpenCV 的捕获代码可能会停止正常运行。
这意味着您不应尝试释放从这些函数返回的图像内存,例如通过调用cvReleaseImage。图书馆会在需要时为您执行此操作。
这也意味着你不应该通过使用cvScale、cvSet 类型的函数或直接更改低级像素数据来修改图像。如果您想在使用前修改获取的图像,请使用cvCloneImage为自己创建一个单独的副本。
【讨论】: