在使用 cvRetrieveFrame 之前,我可以从 cvCapture 中获取压缩数据,这些数据在 cvGrabFrame 之后存储到缓冲区中吗?我需要将它们保存在压缩帧的存档中。
我使用 cvCaptureFromFile 从 Axis IP 摄像机获取 rtsp 流。
据我所知,这是不可能的。CvCapture 是一个黑盒结构。真的不可能访问里面的数据。
有函数cv::imencode来压缩图像。再次压缩图像不是最佳选择,但它应该可以工作。
顺便说一句,您使用的是旧的 C API,并且有一个用于 C++ 的更新 API,它使捕获更加优雅:cv::VideoCapture。