2016-11-14 42 views
0

我正在尝试使用OpenCV从Webcam中单击图像。我的代码如下。VideoCapture导致图像中出现扭曲的线条

VideoCapture cap0(0); 
cap0.set(CV_CAP_PROP_FRAME_WIDTH,320); 
cap0.set(CV_CAP_PROP_FRAME_HEIGHT,240); 
cap0 >> frame; 
string fileName = "/0.jpg"; 
cout << fileName << endl; 
imwrite(fileName, frame); 

我得到这个图像输出

enter image description here

你可以看到在输出一些奇怪的线条,什么是可能的原因,以及如何我可以消除这些请点我的权利方向。

感谢

回答

0

这看起来像是采集驱动程序中的一个问题,它不会在每第41行(第43对第一对!)传输正确的行数据,也许使用块传输。

似乎这些行中存在有效的图像数据,但我无法确定它们可能来自哪里。

+0

有没有办法解决这个问题 –

+0

@ SaghirA.Khatri查询相机制造商和/或BeagleBone论坛的技术支持 –

+0

@SaghirA .Khatri:你确定图像大小? –

0

这可能是你的情况的电磁干扰,检查它在通常条件没有摄像头附近的电线,或使sheld相机。

+0

那么这段代码正在BeagleBone Black上工作,我得到这个问题。但是,当我从我的笔记本电脑运行此代码时,它没有这种干扰。此外,这并没有回答我在哪里接到这些相同的摄像头,以煤气和水表,我得到相同的结果... –

+0

你只得到一个框架,或者正如我在你的代码中看到你打开相机之前捕获每一帧?可能这些条纹仅出现在第一帧? –

+0

所以我必须得到第二帧? –