在回调函数中获取图像,但有时获取不到图像,当连续多帧(这里是30)得不到图像时,进行复位。如下所示:
int CallBackFunc()
{
img = CaptureImage();
if( img == NULL )
{
nBadFrame ++;
}
if( nBadFrame >= 30 )
{
Reset();
}
}
可是,上面代码中并不是判断“连续”的多帧图像,当好的和坏的图像交织时,只要坏图像达到30帧,也会复位。
其实,只要再加上else语句就可以达到判断连续多帧图像的状态的目的:
int CallBackFunc()
{
img = CaptureImage();
if( img == NULL )
{
nBadFrame ++;
}
else
{
nBadFrame = 0;
}
if( nBadFrame >= 30 )
{
Reset();
}
}