2

我正在尝试捕获罗技 pro 9000 的原始数据(例如所谓的拜耳模式)。这可以通过使用所谓的拜耳应用程序来实现,该应用程序可以在互联网上找到。它应该返回一个 8 位的拜耳模式,但结果显然不是这样的模式。

然而; 正在流式传输的图像似乎很不正常。如下图所示,我在 3 通道图像中获得了 2 幅场景图像(意味着总共 6 个通道)。每张图像是总捕获区域的 1/4,因此似乎有某种 YUV 数据正在流式传输。

我无法使用 openCV 提供的转换将这些数据转换为任何有意义的数据。任何想法正在发送什么样的数据以及(更重要的是)如何将其转换为 RGB?

截取图像的裁剪示例

按要求编辑 ;用于生成图像的代码片段。

system("Bayer.exe 1 8"); //Sets the camera to raw mode
// set up camera
VideoCapture capture(0);
if(!capture.isOpened()){
  waitKey();
  exit(0);
}
Mat capturedFrame;
while(true){
  capture>>capturedFrame;
  imshow("Raw",capturedFrame);
  waitKey(25);
}
4

2 回答 2

1

如果相机的输出数据格式(宽度、高度、位深度、通道数...)与您的程序期望的数据格式不同,则最有可能发生这种情况。

但是我可以捕获 logitec pro cam,只需使用

Mat img;
VideoCapture cap(0);
cap >> img;
于 2013-05-04T05:59:08.810 回答
1

你是如何使用 openCV 从流中获取帧的?你能分享一些代码片段吗?openCV 中的视频格式太多,无法获得正确的颜色通道和压缩数据。

我认为您应该能够获得此处提到的正确图像帧:

http://forum.openrobotino.org/archive/index.php/t-295.html?s=c33acb1fb91f5916080f8dfd687598ec

于 2013-05-03T18:54:09.280 回答