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

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

  • 使用cvRetrieveFrame()从视频中检索帧
  • 对帧
  • 进行一些处理
  • 输出结果

  • 我的直觉说cvRetrieveFrame()出了点问题,因为如果我使用cvLoadImage手动输入帧,则程序可以正常工作。但是我在使用cvRetrieveFrame()时没有得到相同的结果。

    由于文档中提到了这样的限制,因此有什么理由要限制?而且,还有其他选择吗?

    祝你有美好的一天

    最佳答案

    在调用此函数之前,应该使用另一个函数cvGrabFrame()以便能够使用所提到的函数,可以将其用于在帧上进行任何必要的处理(例如,
    编解码器),然后返回指向另一个内部buff的IplImage *指针
    (因此请不要依赖此图片,因为下次您调用该图片时,它将被覆盖
    cvGrabFrame())。

    关于opencv - cvRetrieveFrame复杂度-openCV,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4528820/

    10-10 19:02