【问题标题】:Logitech quickcam pro 9000 Bayer capture with openCV罗技 quickcam pro 9000 使用 openCV 进行拜耳捕捉
【发布时间】:2013-04-24 10:29:02
【问题描述】:

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

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

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

编辑 按照要求;用于生成图像的coden-p。

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);
}

【问题讨论】:

  • 您是否尝试过 cv::cvtColor 与以下之一:CV_BayerBG2BGR、CV_BayerGB2BGR、CV_BayerRG2BGR、CV_BayerGR2BGR、CV_BayerBG2RGB、CV_BayerGB2RGB、CV_BayerRG2RGB、CV_BayerGR2RGB
  • 我相信我做到了,但我已经有一段时间没有尝试过了。我无法让这段代码工作,所以我放弃了它。

标签: c++ opencv video-capture video-processing logitech


【解决方案1】:

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

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

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

【讨论】:

  • 我添加了用于生成图像的代码 sn-p。 “正常”图像的捕获效果很好,但我正在寻找原始数据(例如,拜耳模式)。
【解决方案2】:

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

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

Mat img;
VideoCapture cap(0);
cap >> img;

【讨论】:

  • 问题不在罗技的实际捕获中。相机在“正常”模式下工作得非常好(例如,完整图像)。但是,我想访问原始数据。
猜你喜欢
  • 1970-01-01
  • 2013-12-03
  • 1970-01-01
  • 1970-01-01
  • 2011-05-17
  • 2012-08-07
  • 2013-04-12
  • 2013-07-09
  • 1970-01-01
相关资源
最近更新 更多