cvRetrieveFrame复杂 - openCV

时间:2010-12-25 00:13:22

标签: opencv

OpenCV的文档提到“用户不应发布或修改返回的图像(通过cvRetrieveFrame)”...... 链接:http://opencv.willowgarage.com/documentation/c/highgui_reading_and_writing_images_and_video.html#retrieveframe

我正在尝试调试我的代码,其中涉及以下步骤:

  1. 使用cvRetrieveFrame()
  2. 从视频中检索帧
  3. 对框架进行一些处理
  4. 输出结果
  5. 我的直觉说cvRetrieveFrame()有问题,因为如果我使用cvLoadImage手动输入帧,程序运行正常。但是在使用cvRetrieveFrame()时,我得不到相同的结果。

    由于文件中提到了这样的限制,这种限制有什么理由吗?还有其他选择吗?

    度过美好的一天

1 个答案:

答案 0 :(得分:1)

在调用此函数之前,您应该使用另一个函数cvGrabFrame()以便能够使用上述函数,您可以使用它来对框架进行任何必要的处理(例如解压缩阶段)在 编解码器)然后返回指向另一个内部缓冲区的IplImage *指针 (所以不要依赖这个图像,因为下次打电话时它会被覆盖 cvGrabFrame())。