我没有做任何特别的事情,但是我正在阅读opencv文档,我无法理解read
中的grab
和VideoCapture
方法之间的区别,在这里,这是他们的工作:
在两种方法中提取下一帧。有什么不同? Link to the documentation
最佳答案
当仔细查看这两种方法的文档时,有一个细微但重要的差异变得更加明显。
grab
“仅”从相机获取图像并将其保存以进行进一步处理:在这种情况下,您仍然必须从OpenCV检索帧(即“解码并获取”),以便可以使用它。
grab
仅返回一个 bool(boolean) 值,该 bool(boolean) 值指示OpenCV是否能够从摄像机获取帧-在这种情况下,返回参数不是帧。 read
将grab
和retrieve
操作合并为一个命令,并返回已解码的帧:此方法将实际的框架返回给您的应用程序,因此您不必担心检查 bool(boolean) 参数并编写其他代码以通过OpenCV取回框架。
根据您的应用程序,仅使用
read
可能会更容易,因为它可能会节省您一两行代码。关于python - 视频捕获读取和抓取之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57716962/