我正在尝试捕获logitech pro 9000的原始数据(例如所谓的Bayer模式)。这可以通过使用所谓的拜耳应用程序来实现,该应用程序可以在互联网上浮动。它应该返回一个8位的拜耳模式,但结果显然不是这样的模式。
然而;正在流式传输的图像似乎非常不合适。从下图中可以看出,我在3通道图像中获得了2个场景图像(总共6个通道)。每个图像是总捕获区域的1/4,因此看起来有某种YUV数据被流式传输。
我无法使用openCV提供的转换将此数据转换为有意义的数据。任何想法发送什么样的数据和(更重要的是)如何将其转换为RGB?
修改 按照要求;用于生成图像的codesnippet。
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);
}
答案 0 :(得分:1)
你是如何使用openCV从流中获取帧的?你能分享一些代码片段吗? openCV中有太多的视频格式用于获取正确的颜色通道和压缩数据。
我认为你应该能够获得正确的图像框架,如下所述:
http://forum.openrobotino.org/archive/index.php/t-295.html?s=c33acb1fb91f5916080f8dfd687598ec
答案 1 :(得分:1)
如果相机的输出数据格式(宽度,高度,位深度,通道数......)和程序预期的数据格式不同,则最有可能发生这种情况。
然而,我只需使用
即可捕获logitec pro camMat img;
VideoCapture cap(0);
cap >> img;