c++ - Logitech Quickcam Pro 9000 Bayer 使用 openCV 进行捕捉

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

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

但是;正在传输的图像似乎很不正常。如下图所示,我在 3 channel 图像中获得了 2 个场景图像(总共 6 个 channel )。每个图像占总捕获区域的 1/4,因此似乎存在某种 YUV 数据正在流式传输。

我无法使用 openCV 提供的转换将此数据转换为任何有意义的内容。您知道正在发送什么类型的数据以及(更重要的是)如何将其转换为 RGB?

Cropped example of captured image

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

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

最佳答案

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

我认为您应该能够获得正确的图像帧,如下所述:

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

关于c++ - Logitech Quickcam Pro 9000 Bayer 使用 openCV 进行捕捉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16189645/

相关文章:

opencv - 尝试使用 OpenCV 捕获显示输出以进行实时分析;我需要帮助来连接操作系统以进行输入

opencv - 如何找到离相机最近的物体?

Android 视频录制时的预览处理

c++ - 快速,快速随机整数生成器

c++ - qt 模型中的角色是什么以及 setRoleNames() 的作用是什么?

python - 裁剪视频中的帧

opencv - 逐帧组合两个不同长度的视频,使它们出现在一帧中,有点像视频平铺

c++ - 总是创建类的实例?

c++ - mutex.timed_lock(duration) 和 boost::timed_mutex::scoped_lock 之间的区别 scoped_lock(mutex, duration)

python - 如何在按住某个键的同时暂停视频流? Python OpenCV