【问题标题】:OpenCV - cvQueryFrame()OpenCV - cvQueryFrame()
【发布时间】:2011-03-15 00:32:29
【问题描述】:

在 OpenCV 参考手册中:http://opencv.willowgarage.com/documentation/c/highgui_reading_and_writing_images_and_video.html

它声明了以下关于:cvQueryFrame( ):

返回的图片不应该是 由用户发布或修改。

这句话是什么意思?

谢谢。

【问题讨论】:

    标签: c++ opencv


    【解决方案1】:

    根据源类型(相机/文件、编解码器)cvQueryFrame 可能正在为连续捕获的图像使用相同的内存区域。如果您尝试解除分配或修改由cvQueryFramecvRetrieveFrame 返回的图像,则来自 OpenCV 的捕获代码可能会停止正常运行。

    这意味着您不应尝试释放从这些函数返回的图像内存,例如通过调用cvReleaseImage。图书馆会在需要时为您执行此操作。

    这也意味着你不应该通过使用cvScalecvSet 类型的函数或直接更改低级像素数据来修改图像。如果您想在使用前修改获取的图像,请使用cvCloneImage为自己创建一个单独的副本。

    【讨论】:

    • 你刚刚救了我一命。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多