我正在尝试使用VS13,OpenCV和AverMedia DVD EZMaker 7从模拟摄像头捕获帧。
如果我做一个简单的循环,如
while (true)
{
frame = cvQueryFrame(capture);
cvShowImage("My window", frame);
if (cvWaitKey(33) == 27)
{ // ESC
break;
}
}
我得到一个帧,但帧有噪音 like this:
如果框架上有动态对象,则会出现此行。
然而,我试图使用Media Player Classic捕捉相机。我有两种类型的输出图像。第一张图像有相同的噪音。但当我改变(在MPC中)格式从“RGB24”到“YUVU”时,我有一个better result
我的问题: 我该如何解决这个问题?我想捕捉没有线条的正确框架。
P.S。 我也尝试在我的程序中使用VideoInput库,但它没有帮助。框架有噪音。我使用此代码捕获:
VI.setIdealFramerate(dev1, 25); //the framerate change didn't solve the problem
VI.setupDevice(dev1, 720, 576, 0);
image_VI = cvCreateImage(cvSize(VI.getWidth(dev1), VI.getHeight(dev1)), IPL_DEPTH_8U, 3);
while (true){
VI.getPixels(dev1, (unsigned char *)image_VI->imageDataOrigin, false, true);
cvShowImage("My window", image_VI);
if (cvWaitKey(33) == 27) {
// ESC
break;
}
}
P.P.s: 当我使用cvCvtColor运算符(OpenCV或VideoInput)时:
cvCvtColor(frame, frame2, CV_RGB2YUV);
cvShowImage("My window", frame2);
我的色彩还原不正确。 //和噪音
当我使用IPL_DEPTH_16U
(VideoInput)创建图像时,我的色彩再现不正确,我在窗口中有2张图像,但显示的图像没有噪点。
P.p.p.s。对不起,我的英语不好。我想,我的语法中有很多错误。但我希望我可以解释这个问题。