我正在从视频源捕获帧,并希望将它们输出为 BMP 格式等文件。
我想知道的是 a) 是否有这方面的内置功能,以及 b) 如果没有,我如何获取由 Mat 对象表示的每个帧中每个像素的 RGB 值?
预先感谢您的帮助。
最佳答案
a) 参见 imwrite
(在与视频捕获内容相同的文档页面上)
b) 如果您想从 Mat 对象获取 RGB 值,请参阅 the Mat documentation ,其中详细讨论了元素访问 - 总而言之,M.at<datatype>(i,j)
或 M.data[ M.step[0]*i + M.step[1]*j ]
-- 后者可能因您的 OpenCV 版本而异,请查阅相应的文档页面。
关于c++ - OpenCV:将 Mat 转换为 3D 图像阵列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8996562/